pip requirements fileを使用して、自分のプロジェクトの依存関係のリストを維持します。ピップフリーズで作成された要件ファイルにピップインストールオプションを維持する方法は?
は、私は今、自分自身が、私は私のプロジェクトのrequirements.txt
に保存し、その出力でこれらのオプションを記録しませんpip install --install-option='some-setup.py.option'
が、pip freeze
を使用してライブラリをインストールする必要が見つけます。新しいマシン上のシンプルなpip install -r requirements.txt
は、この1つのライブラリに必要な引数を指定せずにすべての依存関係をインストールし、単純なラウンドトリップ操作を失ったため、問題が発生します。
だから、私の2パートの質問です:
- は何とかピップフリーズ出力のオプションをインストールピップを維持する方法はありますか?
- もしそうでなければ、要件ファイルを手動でハックしてインストールオプションを追加する方法がありますか?私は
pip freeze
の往復の性質を失うことで大丈夫です。必要な場合は、要件ファイルの手動メンテナンスに切り替える必要があります。 documentationを確認しましたが、何も手助けできませんでした。
不要ますが、おそらく興味深い詳細は、私がpymongoけどwithout building the C extensionので、私はeventletベースのアプリケーションで非同期にそれを使用することができますをインストールしたい
に従ってください。
することは、必要に応じてインストールしてrequirements.txtを構築:新しいvirtualenvので
(test)[email protected]:~/test$ pip install pymongo --install-option='--no_ext'
Downloading/unpacking pymongo
Downloading pymongo-2.1.1.tar.gz (199Kb): 199Kb downloaded
Running setup.py egg_info for package pymongo
Installing collected packages: pymongo
Running setup.py install for pymongo
Successfully installed pymongo
Cleaning up...
(test)[email protected]:~/test$ pip freeze > requirements.txt
(test)[email protected]:~/test$ cat requirements.txt
bottle==0.10.7
distribute==0.6.10
eventlet==0.9.16
greenlet==0.3.3
lxml==2.3.3
pymongo==2.1.1
simplejson==2.3.2
wsgiref==0.1.2
、requirements.txt
から同じプロジェクトをインストールしてみてください。ピップは
(test2)[email protected]:~/test2$ pip install -r requirements.txt
...
Downloading/unpacking pymongo==2.1.1 (from -r requirements.txt (line 6))
Downloading pymongo-2.1.1.tar.gz (199Kb): 199Kb downloaded
Running setup.py egg_info for package pymongo
Installing collected packages: pymongo
Running setup.py install for pymongo
building 'bson._cbson' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.6 -c bson/_cbsonmodule.c -o build/temp.linux-i686-2.6/bson/_cbsonmodule.o
...
Successfully installed pymongo
Cleaning up...
更新 Issue 271ごとのライン--install-option
requirements.txtに指定することを求めて2011年4月にピップに対して開かれたpymongo :(
のためのC拡張を構築します。同じ問題がある場合は、問題に投票してください。
--install-option = ' - no_ext'を要件ファイルに手動で追加した場合、動作しますか? - そうでない場合は、pip開発者にこの機能を追加するようにリクエストする必要があると思われます(これは素晴らしいアイデアです)。 – d3vid
@ d3vidそれはうまくいきません。 2011年4月に開設された機能要求は既にあります:https://github.com/pypa/pip/issues/271。あなたの+1もそこに追加してください。 – Day