我使用pip requirements file來維護我的項目的依賴項列表。如何在pip凍結的需求文件中維護pip安裝選項?
現在我發現自己不必安裝使用pip install --install-option='some-setup.py.option'
但pip freeze
中未記錄其輸出這些選項,我保存在我的項目的requirements.txt
庫。這會導致問題,因爲新計算機上的一個簡單的pip install -r requirements.txt
會安裝所有依賴項,而不爲這個庫提供所需的參數,並且我失去了簡單的往返操作。
所以,我的第2部分的問題是:
- 是否有維持點子安裝在PIP凍結輸出以某種方式選擇的方法嗎?
- 如果沒有,是否有辦法手動破解需求文件以添加安裝選項?如果必須,我可以丟失
pip freeze
的往返性質,並切換到需求文件的手動維護。我檢查了documentation,但看不到任何幫助。
沒有必要,而且可能有趣的細節,遵循
我想安裝pymongo但without building the C extension這樣我就可以在eventlet基於異步應用程序使用它。
安裝根據需要,並建立requirements.txt:
(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
在新的virtualenv,嘗試從requirements.txt
安裝同一個項目。 PIP構建C擴展的pymongo :(
(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 2011年4月對PIP打開請求指定每行--install-option
在requirements.txt的能力。如果您遇到同樣的問題,請爲此問題投票。
如果您手動將--install-option =' - no_ext'添加到需求文件,它是否工作? - 如果沒有,我懷疑你需要請求小工具開發人員添加此功能(這是一個好主意!) – d3vid 2012-02-06 12:10:35
@ d3vid這不行,我害怕。已經有一個功能請求,於2011年4月開放:https://github.com/pypa/pip/issues/271。請在那裏添加你的+1。 – Day 2012-02-07 00:01:05