2013-06-10 4 views
9
  • 私はピップの内部にvirtualenvを持っています。
  • 私は自分のパッケージインデックスを持っています。
  • いつもpip install some_package -i my_indexを呼び出さないようにピップするにはこのパッケージを追加します
  • virtualenvで実行されているこの特定のpipインスタンスにのみこのインデックスを追加します。

この場合、どのファイルを変更する必要がありますか?virtualenvで動作しているpipに独自のインデックスを追加する方法は?

答えて

4

自分のインデックスを使ってみたことはありませんでしたが、いくつかの調査の後にthis articleはあなたがしたいことをカバーする必要があります。

基本的に、あなたの~/.pip/pip.conf%HOME%\pip\pip.iniにあるWindowsシステム上で)に以下を追加する必要があります。

[global] 
index-url = http://my.pypi.index/comes/here 

問題はあなたがすべてのプロジェクトと何をしたいですのグローバルな定義を持っているということです特定のプロジェクト内のすべてのユーザーの定義。 pip documentationからはPIP_CONFIG_FILE

あなたはこの環境VARが含まれるようにvirtual-env-folder/bin/activateスクリプトを編集でき、環境VARを使用して設定ファイルの検索を変更することができますが、問題は、新しい仮想環境を作成すると、この変更を失うことになるし、可能ではないということです自動化する。あなたにできることは、プロジェクトのルートに.pip/pip.confファイルを作成し、次のようにプロジェクトのルートにも、簡単なactivate-virtual-envスクリプトを作成します

pushd $(dirname $0) 
export PIP_CONFIG_FILE="$(pwd)/.pip/pip.conf" 
source "$(pwd)/virtual-env-folder/bin/activate" 
popd 

と、このファイルの代わりに、virtual-env-folder/bin/activateを調達するためにユーザーに指示します

+0

何の '〜' virtualenvのではありません。 – mnowotka

+0

私のポストを編集して、ユーザーがグローバルベースではなくプロジェクトベースにする可能性があるソリューション –

7

私はvirtualenvの内部 https://pip.pypa.io/en/latest/user_guide.html#config-file

事実上の同じ問題に遭遇し、現在のバージョンでそのピップサポートにこれを見つけた:

UNIXとMac OS X上で

ファイルファイルWindowsでは$ VIRTUAL_ENV/pip.conf
です:%VIRTUAL_ENV%\ pip.ini

+0

このソリューションはMacで動作しますが、RHLE 6では動作しません。他に誰かがVEで動作しますか? – steve

+0

このソリューション(私のvirtualenvのルートにpip.confを置く)は、CentOS 7のpython 2.7.5を実行してくれました。 – Sinsanator

+0

@steve Works for me for ubuntu 16.04。おそらく、RHLEのpython/virtualenvバージョンが古すぎますか? – NeilenMarais

関連する問題