from - use requirements txt python
¿Cómo instalar paquetes usando pip de acuerdo con el archivo Requirements.txt de un directorio local? (8)
Aquí está el problema
Tengo un requisito.txt que se parece a:
BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...
Tengo un directorio de archivos local que contiene todos los paquetes + otros.
He creado un nuevo virtualenv con
bin/virtualenv testing
al activarlo, traté de instalar los paquetes de acuerdo con Requirements.txt del directorio de archivo local.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Tengo algunos resultados que parecen indicar que la instalación está bien.
Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
Running setup.py egg_info for package Fabric
warning: no previously-included files matching ''*'' found under directory ''docs/_build''
warning: no files found matching ''fabfile.py''
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
Running setup.py egg_info for package South
....
Pero luego la verificación reveló que ninguno de los paquetes está instalado correctamente. No puedo importar el paquete y no se encuentra ninguno en el directorio site-packages de mi virtualenv. Entonces, ¿qué salió mal?
A menudo, deseará una instalación rápida desde archivos locales, sin sondear PyPI.
Primero, descargue los archivos que cumplan con sus requisitos:
$ pip install --download <DIR> -r requirements.txt
Luego, instale usando –find-links
y –no-index
:
$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
Esto funciona para mí:
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index
- Ignora el índice del paquete (solo mirando las URL de --find-links
lugar).
-f, --find-links <URL>
- Si es una URL o una ruta a un archivo html, analice los enlaces a los archivos. Si una ruta o file://
local file://
URL es un directorio, busque los archivos en la lista del directorio.
He leído lo anterior, me doy cuenta de que esta es una pregunta antigua, pero no está resuelta y aún está en la parte superior de mis resultados de búsqueda de Google, así que aquí hay una respuesta que funciona para todos:
pip install -r /path/to/requirements.txt
Para que virtualenv instale todos los archivos en el archivo Requirements.txt.
- Cd al directorio donde se encuentra el archivo Requirements.txt.
- activa tu virtualenv
- ejecute:
pip install -r requirements.txt
en su shell
Trabajo con una gran cantidad de sistemas que han sido desechados por los desarrolladores "siguiendo las instrucciones que encontraron en Internet". Es extremadamente común que tu pip
y tu python
no estén buscando las mismas rutas / paquetes de sitios. Por esta razón, cuando encuentro una rareza, comienzo haciendo esto:
$ python -c ''import sys; print(sys.path)''
['''', ''/usr/lib/python2.7'', ''/usr/lib/python2.7/plat-x86_64-linux-gnu'',
''/usr/lib/python2.7/lib-tk'', ''/usr/lib/python2.7/lib-old'',
''/usr/lib/python2.7/lib-dynload'', ''/usr/local/lib/python2.7/dist-packages'',
''/usr/lib/python2.7/dist-packages'']
$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Ese es un sistema feliz .
A continuación se muestra un sistema infeliz . (O al menos es un sistema felizmente ignorante que hace que otros se sientan infelices).
$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
$ python -c ''import sys; print(sys.path)''
['''', ''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old'',
''/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload'',
''/usr/local/lib/python2.7/site-packages'']
$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3
No está contento porque pip
está (python3.6 y) utilizando los paquetes /usr/local/lib/python3.6/site-packages
mientras que python
está (python2.7 y) utilizando /usr/local/lib/python2.7/site-packages
Cuando quiero asegurarme de que estoy instalando los requisitos en la pitón correcta , hago esto:
$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3
$ /usr/bin/python -m pip install -r requirements.txt
Has escuchado: "Si no está roto, no trates de arreglarlo". La versión de DevOps de eso es: "Si no lo rompió y puede solucionarlo, no intente arreglarlo".
Tuve un problema similar. Intenté esto:
pip install -U -r requirements.txt
(-U = actualizar si ya se había instalado)
Pero el problema continuó. Me di cuenta de que algunas de las bibliotecas genéricas para el desarrollo se perdían.
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
No sé si esto te ayudaría.
Instalando el archivo Requirements.txt dentro de env virtual con python 3:
Tuve el mismo problema. Estaba tratando de instalar el archivo Requirements.txt dentro de un entorno virtual. Encontré la solución.
Inicialmente, creé mi env virtual de esta manera:
virtualenv -p python3 myenv
Activa el entorno utilizando:
source myenv/bin/activate
Ahora instalé el Requirements.txt usando:
pip3 install -r requirements.txt
La instalación fue exitosa y pude importar los módulos.
pip install -r requirements.txt
Para más detalles por favor revise la opción de ayuda.
pip install --help
Podemos encontrar la opción ''-r''
-r, --requirement Instalar desde el archivo de requisitos dado. Esta opción se puede utilizar varias veces.
Más información sobre algunas opciones de instalación de pip usadas comúnmente: (Esta es la opción de ayuda en el comando pip install)
También lo anterior es el conjunto completo de opciones. Utilice pip install --help para obtener una lista completa de opciones.