2012-01-14 10 views
32

sto ottenendo il seguente errore con questo comando:pip congelamento> errore requirements.txt

$pip freeze > requirements.txt 
Warning: cannot find svn location for distribute==0.6.16dev-r0 

Questo è il mio file requirements.txt anticipo:

Django==1.3 
django-registration==0.7 

risposta

38

In primo luogo, vorrei notare che non è un errore, ma piuttosto un avvertimento (sebbene sia serio).

Questo sembra essere un problema aperto in pip, a giudicare da questo nel repository github. Il problema sorge quando pip sta installando qualcosa su una versione di sviluppo che si trova su un repository che non è SVN. Un esempio che la pagina numero fornisce:

mkvirtualenv test --no-site-packages 
workon test 
pip install flask==dev 
pip freeze > requirements.txt 

Si stamperà questo risultato a standard error:

Warning: cannot find svn location for Flask==0.9-devdev-20120114 

ma il file avrà ancora:

## FIXME: could not find svn URL in dependency_links for this package: 
Flask==0.9-devdev-20120114 
Jinja2==2.6 
Werkzeug==0.8.2 
wsgiref==0.1.2 

Tuttavia, non lo farò essere in grado di utilizzare questo file in futuro per installare Flask. Vedi qui:

mkvirtualenv test2 --no-site-packages 
workon test2 
pip install -r requirements.txt 

uscita sarà l'errore:

Downloading/unpacking Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) 
Could not find a version that satisfies the requirement Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) (from versions:) 
No distributions matching the version for Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) 
Storing complete log in /Users/dgrtwo/.pip/pip.log 
+3

ok tutto questo è ottimo .. quindi qual è la soluzione? – abbood

1

ho incontrato lo stesso problema cercando di creare un progetto Django e distribuirlo su Heroku. Penso che il problema fosse legato alla presenza di più copie di Django. Cancellare Django situato a

/usr/local/lib/python2.7/dist-packages/django 

e la reinstallazione sembrava risolvere il problema. Sono stato in grado di creare il requirements.txt senza un avviso.

20
sudo pip install --upgrade distribute 
+5

Puoi spiegare cosa sta succedendo qui per favore? –

+1

Questo problema è un bug nel pacchetto di distribuzione, quindi quando lo si aggiorna, si risolve il problema. –

+0

anche si prega di controllare (e upvote) la risposta di MikeTwo: http://stackoverflow.com/a/28596824/342293 – Ron

3

non hanno abbastanza rappresentante di commentare, ma sudo pip install --upgrade distribute borked mia installazione pip. Pip versione 1.4.1. Dopo aver eseguito quel comando, freeze freeze fornisce un AssertionError.

La correzione di ciò è sudo pip install setuptools==7.0

Le due soluzioni combinate fissati l'avviso svn URL.

0

L'idea di Ron ha fissato anche l'installazione del mio pip, e la correzione di MikeTwo non l'ha risolta.

Ho finito per rimuovere pip e la reinstallazione è, come trovato here (il commento dell'Uzla). Rimuovere il pacchetto:

sudo apt-get remove --auto-remove python-pip 

Scarica installer ufficiale pip:

wget https://bootstrap.pypa.io/get-pip.py 

installarlo:

sudo python get-pip.py 

pip freeze lavorato correttamente dopo questo.Ha dato SNIMissingWarning e InsecurePlatformWarning, vedere the docs, ma non è questo il problema qui.

Nota: l'origine di questa correzione come ha un 4 ° passaggio, per impostare un collegamento simbolico da/usr/local/bin/pip a/usr/bin. Questo potrebbe non essere necessario. Prova stat /usr/local/bin/pip. Questo dovrebbe riportare un file regolare, dimensioni 200 byte circa. Puoi less /usr/local/bin/pip per vedere cosa c'è dentro. Quindi fare echo $PATH per verificare se /usr/local/bin è lì. Se lo è, il link simbolico non è necessario.

Problemi correlati