web-dev-qa-db-ja.com

setuptoolsを使用してカスタムディレクトリにインストールする方法は?

Pythonパッケージがあり、/usr/lib/python2.7/dist-packagesまたはその他の特定のディレクトリにインストールする必要があります。

setup.pyスクリプトを実行すると、次の出力が得られます。

root@abc44:~/som_dir/plugins/abc$python setup.py install
running install
running bdist_Egg
running Egg_info
writing abcNewPlugin.Egg-info/PKG-INFO
writing top-level names to abcNewPlugin.Egg-info/top_level.txt
writing dependency_links to abcNewPlugin.Egg-info/dependency_links.txt
writing entry points to abcNewPlugin.Egg-info/entry_points.txt
reading manifest file 'abcNewPlugin.Egg-info/SOURCES.txt'
writing manifest file 'abcNewPlugin.Egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/Egg
running install_lib
warning: install_lib: 'build/lib.linux-x86_64-2.7' does not exist -- no Python modules to install

creating build/bdist.linux-x86_64/Egg
creating build/bdist.linux-x86_64/Egg/EGG-INFO
installing scripts to build/bdist.linux-x86_64/Egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/bdist.linux-x86_64/Egg/EGG-INFO/scripts
copying build/scripts-2.7/abc_plugin.py -> build/bdist.linux-x86_64/Egg/EGG-INFO/scripts
changing mode of build/bdist.linux-x86_64/Egg/EGG-INFO/scripts/abc_plugin.py to 775
copying abcNewPlugin.Egg-info/PKG-INFO -> build/bdist.linux-x86_64/Egg/EGG-INFO
copying abcNewPlugin.Egg-info/SOURCES.txt -> build/bdist.linux-x86_64/Egg/EGG-INFO
copying abcNewPlugin.Egg-info/dependency_links.txt -> build/bdist.linux-x86_64/Egg/EGG-INFO
copying abcNewPlugin.Egg-info/entry_points.txt -> build/bdist.linux-x86_64/Egg/EGG-INFO
copying abcNewPlugin.Egg-info/top_level.txt -> build/bdist.linux-x86_64/Egg/EGG-INFO
Zip_safe flag not set; analyzing archive contents...
creating 'dist/abcNewPlugin-0.0-py2.7.Egg' and adding 'build/bdist.linux-x86_64/Egg' to it
removing 'build/bdist.linux-x86_64/Egg' (and everything under it)
Processing abcNewPlugin-0.0-py2.7.Egg
Removing /usr/local/lib/python2.7/dist-packages/abcNewPlugin-0.0-py2.7.Egg
Copying abcNewPlugin-0.0-py2.7.Egg to /usr/local/lib/python2.7/dist-packages
abcNewPlugin 0.0 is already the active version in easy-install.pth
Installing abc_plugin.py script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/abcNewPlugin-0.0-py2.7.Egg
Processing dependencies for abcNewPlugin==0.0
Finished processing dependencies for abcNewPlugin==0.0

setuptoolsでパッケージのインストールディレクトリを指定する方法はありますか? --install-dirオプションを試しましたが、エラーが発生します。

$Sudo python setup.py install --install-dir=/usr/lib/python2.7/dist-packages
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: option --install-dir not recognized

--prefixオプションも使用できませんでした。

11
Akshya11235

python setup.py installコマンドはeasy_installへのショートカットにすぎないため、直接実行してみてください。--install-dirオプションがあります。

easy_install . --install-dir /usr/lib/python2.7/dist-packages

さらに必要な場合は、python setup.py install -hを使用して他の利用可能なオプションを取得できますが、これらはかなり不可解です。

10
famousgarkin

--install-libモジュールのインストールディレクトリを設定します

python setup.py install --install-lib /src/lib/
9
Jonathan