2012-01-14 16 views
32

estoy recibiendo el siguiente error con ese comando:congelación pip> error requirements.txt

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

Este es mi archivo requirements.txt antemano:

Django==1.3 
django-registration==0.7 

Respuesta

38

En primer lugar, me gustaría tener en cuenta que no es un error, sino más bien una advertencia de (aunque es grave).

Esto parece ser un problema abierto en pip, a juzgar por este en el repositorio de github. El problema surge cuando pip está instalando algo, una versión de desarrollo que se guarda en un repositorio que no es SVN. Un ejemplo que ofrece la página tema:

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

Se imprimirá este resultado a error estándar:

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

Sin embargo, el archivo todavía tendrá:

## 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 

Sin embargo, no lo haré poder usar este archivo en el futuro para instalar Flask. Ver aquí:

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

de salida será el error:

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 esto es todo genial ... ¿cuál es la solución? – abbood

1

me encontré con el mismo problema al intentar crear un proyecto Django y desplegarlo en heroku. Creo que el problema estaba relacionado con tener varias copias de django. Suprimir django ubicado en

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

y la reinstalación parecían resolver el problema. Pude crear el requirements.txt sin una advertencia.

20
sudo pip install --upgrade distribute 
+5

¿Puede explicarnos qué está pasando aquí, por favor? –

+1

Este problema es un error en el paquete de distribución, por lo que cuando lo actualizas, resuelves el problema. –

+0

también, por favor, compruebe (y envíen) la respuesta de MikeTwo: http://stackoverflow.com/a/28596824/342293 – Ron

3

no tienen suficiente rep hacer comentarios, pero sudo pip install --upgrade distribute borked mi instalación de pepita. Pip versión 1.4.1. Después de ejecutar ese comando, pip freeze da un AssertionError.

La corrección para que se sudo pip install setuptools==7.0

Las dos soluciones combinadas fijan la advertencia URL svn.

0

La idea de Ron también completó mi instalación de pip, y la solución de MikeTwo no lo solucionó.

Terminé eliminando pip y volviendo a instalar, como se encontró here (comentario de UzLA). Retire el paquete:

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

Descargar instalador oficial de pepita:

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

instalarlo:

sudo python get-pip.py 

pip freeze funcionaba correctamente después de esto.Dio SNIMissingWarning y InsecurePlatformWarning, vea the docs, pero ese no es el problema aquí.

Nota:: la fuente de esta solución tiene un cuarto paso para configurar un enlace simbólico de/usr/local/bin/pip a/usr/bin. Esto puede no ser necesario. Pruebe stat /usr/local/bin/pip. Eso debería informar un archivo normal, tamaño 200 bytes más o menos. Puede less /usr/local/bin/pip para ver lo que contiene. Luego haga echo $PATH para verificar si /usr/local/bin está allí. Si es así, el enlace simbólico no es necesario.

Cuestiones relacionadas