web-dev-qa-db-ja.com

$ HOMEフォルダーへのpipパッケージのインストール

出来ますか? pip をインストールするときは、私の$HOMEフォルダ内にpythonパッケージをインストールしてください。 (例えば、私はMercurialを使って、$HOMEの代わりに/usr/localの中にpipをインストールしたいです。)

私はMacマシンを使っていて、この可能性について考えていました。私の/usr/localを「汚染する」のではなく、代わりに私の$HOMEを使用します。

PEP370 はまさにこれについてです。これらのパッケージを自分の$ HOMEフォルダにのみインストールするのに十分なだけの˜/.localを作成してpip install packageを実行するだけですか?

virtualenvを使うことができますが、する必要はありません。トリックはPEP370 --user引数をsetup.pyスクリプトに渡すことです。 pipの最新版では、それを行う1つの方法があります。

pip install --user Mercurial

これにより、hgスクリプトが$HOME/.local/bin/hgに、残りのhgパッケージが$HOME/.local/lib/pythonx.y/site-packages/にインストールされます。

上記はPython 2.6にも当てはまることに注意してください。 Pythonのコア開発者たちの間で、PEP370スタイルのuserインストール用のMac OS X上での適切なディレクトリの場所について ちょっとした論争 がありました。 Python 2.7および3.2では、Mac OS X上の場所が$HOME/.localから$HOME/Library/Pythonに変更されました。これは将来のリリースで変更される可能性があります。しかし、今のところ、2.7(およびPython 3でhgがサポートされている場合は3.2)では、上記の場所は$HOME/Library/Python/x.y/bin/hgおよび$HOME/Library/Python/x.y/lib/python/site-packagesになります。

444
Ned Deily

私はあなたのHOMEディレクトリでvirtualenvを使うでしょう。

$ Sudo easy_install -U virtualenv
$ cd ~
$ virtualenv .
$ bin/pip ...

その後、あなたのシェルがPATHに〜/ binを追加するのに適した~/.(login|profile|bash_profile)を変更することもできます。そしてそのpip|python|easy_installがデフォルトで使用されます。

20
Ross Patterson

コピー先ディレクトリを指定するために-tオプション(--target)を指定できます。詳細についてはpip install --helpを参照してください。これはあなたが必要とするコマンドです:

pip install -t path_to_your_home package-name

たとえば、私の$HOMEディレクトリにsay mxnetをインストールするには、次のように入力します。

pip install -t /home/foivos/ mxnet
15
Foivos