Używam pip requirements file do utrzymywania listy zależności dla moich projektów.Jak zachować opcje instalacji pip w pliku wymagań utworzonym przez pip freeze?
ja teraz znajduję się konieczności instalowania biblioteki korzystając pip install --install-option='some-setup.py.option'
alepip freeze
nie rejestruje te opcje w swoim wyjściu, które mogę zapisać w moim projekcie znajduje requirements.txt
. Powoduje to problemy, ponieważ prosty pip install -r requirements.txt
na nowym komputerze instaluje wszystkie zależności bez dostarczania wymaganych argumentów dla tej jednej biblioteki, i straciłem prostą operację w obie strony.
Więc moje pytanie brzmi, część 2:
- Czy istnieje sposób, aby utrzymać pip zainstalować opcje wyjścia zamrożenia pip jakoś?
- Jeśli nie, czy istnieje sposób ręcznego zhakowania pliku wymagań, aby dodać opcję instalacji? Jestem w porządku z utratą charakteru podróży w obie strony
pip freeze
, jeśli muszę, i przejściem do ręcznej konserwacji pliku wymagań. Sprawdziłem numer documentation, ale nie widziałem nic, co mogłoby pomóc.
Niepotrzebne ale ewentualnie interesujących szczegółów śledzić
chcę zainstalować pymongo ale without building the C extension więc można go używać asynchronicznie w eventlet aplikacji opartych.
zainstalować jako pożądane i budować 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
W nowym virtualenv, spróbuj zainstalować samego projektu z requirements.txt
. pip buduje rozszerzenie C dla 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...
Aktualizacja Issue 271 został otwarty przed pip w kwietniu 2011 roku z prośbą o możliwość określenia za linię --install-option
w requirements.txt. Zagłosuj na problem, jeśli masz ten sam problem.
jeśli ręcznie dodajesz --install-option = '- no_ext' do pliku wymagań, czy to działa? - jeśli nie, podejrzewam, że będziesz musiał poprosić programiści pip o dodanie tej funkcjonalności (co jest świetnym pomysłem!) – d3vid
@ d3vid To nie działa Obawiam się. Istnieje już prośba o dodanie tej funkcji, otwarta w kwietniu 2011 r .: https://github.com/pypa/pip/issues/271. Dodaj tam również swój +1. – Day