PipとVirtualenvの詳細設定

pip にアクティブな仮想環境が必要です

今では、仮想環境を使用すると、開発環境をきれいに保ち、異なるプロジェクトの要件を別々に保つことができます。

多くの異なるプロジェクトで作業を開始すると、特定のプロジェクトに戻ったときに関連する仮想環境をアクティブにすることを覚えにくくなる可能性があります。 その結果、プロジェクトの仮想環境用のパッケージを実際にインストールしていると考えながら、パッケージをグローバルにインストールするのは非常に簡単です。 時間が経つにつれて、これは不吉なグローバルパッケージリストになる可能性があります。

pip install を使うときにあなたのアクティブな仮想環境にパッケージをインストールするために、あなたの ~/.bashrc ファイルに次の行を追加することを検討してください:

export PIP_REQUIRE_VIRTUALENV=true

この変更を保存し、 ~/.bashrc ファイルを source ~/.bashrc で取得した後、仮想環境にいない場合、pipはインストールできなくなります。 仮想環境の外側で pip install を実行しようとすると、パッケージをインストールするためには、起動された仮想環境が必要であることを丁寧に思い出させます。

$ pip install requests
Could not find an activated virtualenv (required).

pip.conf または pip.ini ファイルを編集することで、この設定を行うこともできます。 pip.conf はUnixとMac OS Xのオペレーティングシステムで使われています。

$HOME/.pip/pip.conf

同様に、pip.ini ファイルはWindowsオペレーティングシステムで使用されています。

%HOME%\pip\pip.ini

これらの場所に pip.conf または pip.ini ファイルがない場合は、オペレーティングシステムの正しい名前で新しいファイルを作成することができます。

すでに設定ファイルがある場合は、[global] の設定の下に次の行を追加して、アクティブな仮想環境が必要になります:

require-virtualenv = true

設定ファイルがない場合は、新しいファイルを作成し、次の行をこの新しいファイルに追加する必要があります:

[global]
require-virtualenv = true

もちろん、いくつかのパッケージをグローバルにインストールする必要があります(通常は異なるプロジェクト間で一貫して使用するパッケージをインストールする必要があります) ~/.bashrc ファイルに以下を追加することで実現できます:

gpip() {
    PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

変更を保存して ~/.bashrc ファイルを入手したら、gpip install を実行してパッケージをグローバルにインストールできます。 関数の名前を好きなものに変更することができます。pipを使ってパッケージをグローバルにインストールしようとするときにその名前を使用する必要があることに留意してください。

将来の使用のためのパッケージのキャッシュ

すべての開発者は優先ライブラリを持っており、多くの異なるプロジェクトで作業しているときは、使用するライブラリ間で重複することになります。 たとえば、多くの異なるプロジェクトで requests ライブラリを使用しているかもしれません。

新しいプロジェクト(および結果として新しい仮想環境)での作業を開始するたびに、同じパッケージ/ライブラリを再ダウンロードする必要はありません。 幸いにも、既にインストールされているパッケージを再利用するようにpipを設定することができます。

UNIXシステムでは、次の行を .bashrc または .bash_profile ファイルに追加することができます。

export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache

パスを好きな場所に設定することができます(書き込みアクセス権がある限り)。 この行を追加した後、 .bashrc (または .bash_profile )ファイルを source して、あなたはすべて設定されます。

同じ設定を行う別の方法は、あなたのシステムに応じて pip.conf または pip.ini ファイルを使用することです。 Windowsの場合は、 [global] 設定の下で pip.ini ファイルに以下の行を追加することができます:

download-cache = %HOME%\pip\cache

同様に、UNIXシステムでは、[global] 設定の下で pip.conf ファイルに以下の行を追加するだけです:

download-cache = $HOME/.pip/cache

キャッシュを保存するのに好きなパスを使用することはできますが、pip.conf または pip.ini ファイルが存在するフォルダ に新しいフォルダを作成することをお勧めします。 あなたがこのおまじないのパスのすべてを信頼しない場合は、ここで提供されている値を使用すれば問題ありません。