Sto tentando di installare un ambiente di sviluppo sul mio nuovo computer di sviluppo a casa. Ho appena installato Ubuntu e ora sto tentando di clonare un repository remoto dal nostro server web e installare le sue dipendenze in modo da poter iniziare a lavorare.Pip non installa pacchetti su virtualenv attivato, ignora requirements.txt
Finora ho installato manualmente virtualenv
e virtualenvwrapper
da pypi e ho modificato il mio file bash.rc in modo appropriato per generare i miei virtualenv quando avvio il mio terminale. Ho quindi clonato il mio repository su ~/projects/project-name/websitename.com
. Quindi ho usato virtualenvwrapper
a mkvirtualenv env-name
da ~/projects/project-name/websitename.com
. Questo riflette esattamente lo file-structure/setup
del server web da cui sto clonando. Fin qui tutto bene.
Ho effettuato l'accesso al server di sviluppo e ho attivato lo virtualenv
e ho utilizzato pip freeze -l > req.txt
per eseguire il rendering di un elenco di dipendenze e scp sul computer locale. Attivo il virtualenv
sul mio computer locale, naviga su ~/projects/project-name/websitename.com
ed eseguo pip install -r path-to-req.txt
e scorre tutte le dipendenze come se nulla fosse sbagliato. Tuttavia, quando provo a manage.py syncdb
ottengo un errore su non trovare pacchetti core di django. Che diavolo? Quindi immagino che in qualche modo Django non sia riuscito a installare, ho run pip install Django==1.5.1
e si completa con successo. Ho avuto modo di impostare nuovamente il mio sito e ottenere un altro errore su nessun modulo denominato django_extensions
. Ok, che diavolo, ho appena installato tutti questi pacchetti con pip ?!
Quindi i pip freeze -l > test.txt
e cat test.txt
, cosa elenca? Django==1.5.1
, l'unico pacchetto che ho appena installato manualmente. Perché pip non installa le mie dipendenze dalla mia lista specificata nel mio virtualenv? Cosa sto inventando qui?
-edit -------------
Quali pip mi dà il percorso per pip nel mio virtualenv
ho solo 1 virtualenv ed è attivato
Tutto quello che stai facendo sembra ok, prova a eseguire il debug con 'which pip'. – elyase
prova anche 'find ~/.virtualenvs -type d -iname" anypackage "' per vedere se i tuoi pacchetti richiesti sono installati o meno. Inoltre, ti consiglio di usare 'https: // gist.github.com/insin/1425703' che darà un bel prompt sulla virtualenv attivata nella tua bash. – sagarchalise
eseguendo il comando, gli unici pacchetti nel mio virtualenv è quello che ho chiesto manualmente a pip di installare Django, tutti gli altri elaborati da pip nel file dei requisiti sono stati ignorati. In qualche modo ottengo anche un bel prompt che indica quale virtualenv ho attivato. – leotemp