Io uso un pip requirements file per mantenere un elenco di dipendenze per i miei progetti.Come mantenere le opzioni di installazione del pip nel file dei requisiti effettuato da pip freeze?
ora mi trovo a dover installare una libreria utilizzando pip install --install-option='some-setup.py.option'
mapip freeze
non registra queste opzioni nella sua uscita che li risparmio in di requirements.txt
mio progetto. Questo causa problemi perché un semplice pip install -r requirements.txt
su una nuova macchina installa tutte le dipendenze senza fornire gli argomenti richiesti per questa libreria e ho perso la semplice operazione di andata e ritorno.
Così, la mia domanda 2 è parte:
- C'è un modo per mantenere pip installazione delle opzioni nell'output congelamento pip in qualche modo?
- In caso contrario, esiste un modo per modificare manualmente il file dei requisiti per aggiungere l'opzione di installazione? Sto bene perdendo la natura di andata e ritorno di
pip freeze
se necessario, e passando alla manutenzione manuale del file dei requisiti. Ho controllato lo documentation ma non ho visto nulla per aiutarti.
dettagli inutili, ma forse interessante seguire
voglio installare pymongo ma without building the C extension modo da poter utilizzare in modo asincrono in un app basata eventlet.
Installare lo desideri e costruire 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
Nel nuovo virtualenv, provare a installare stesso progetto da requirements.txt
. pip costruisce l'estensione C per 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...
Aggiornamento Issue 271 è stato aperto contro pip nell'aprile 2011 per chiedere la possibilità di specificare linea per linea --install-option
in requirements.txt. Si prega di votare per il problema se si ha lo stesso problema.
se si aggiunge manualmente --install-option = '- no_ext' al file dei requisiti, funziona? - Se non sospetto che dovrai richiedere che gli sviluppatori di pip aggiungano questa funzionalità (che è una grande idea!) – d3vid
@ d3vid Che non funzioni ho paura. C'è già una richiesta di funzionalità per questo, aperta ad aprile 2011: https://github.com/pypa/pip/issues/271. Per favore aggiungi anche il tuo +1. – Day