Question Comment installer des paquets en utilisant pip selon le fichier requirements.txt d'un répertoire local?


Voici le problème

J'ai un requirements.txt qui ressemble à:

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

J'ai un répertoire d'archives local contenant tous les paquets + autres.

J'ai créé un nouveau virtualenv avec

bin/virtualenv testing

en l'activant, j'ai essayé d'installer les paquets en fonction de requirements.txt à partir du répertoire d'archives local.

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

J'ai une sortie qui semble indiquer que l'installation 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
....

Mais plus tard, la vérification a révélé que rien du paquet n'est installé correctement. Je ne peux pas importer le paquet, et aucun n'est trouvé dans le répertoire site-packages de mon virtualenv. Alors qu'est-ce qui a mal tourné?


686
2017-08-29 03:53


origine


Réponses:


Cela fonctionne pour moi:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index - Ignorer l'index des paquets (en regardant seulement --find-links URL à la place).

-f, --find-links <URL> - Si une URL ou un chemin vers un fichier html, puis analyser les liens vers les archives. Si un chemin local ou file:// URL qui est un répertoire, puis recherchez les archives dans la liste du répertoire.


425
2018-05-03 10:04



J'ai lu ce qui précède, je me rends compte que c'est une vieille question, mais il est totalement non résolu et toujours au sommet de mes résultats de recherche google alors voici une réponse qui fonctionne pour tout le monde:

pip install -r /path/to/requirements.txt

990
2018-03-24 00:47



Pour virtualenv pour installer tous les fichiers dans le fichier requirements.txt.

  1. cd vers le répertoire où requirements.txt se trouve
  2. Activez votre virtualenv
  3. courir: pip install -r requirements.txt  dans ta coquille

101
2018-02-26 15:38



J'avais un problème similaire. J'ai essayé ceci:

pip install -U -r requirements.txt 

(-U = mise à jour si elle était déjà installée)

Mais le problème a continué. J'ai réalisé que certaines bibliothèques génériques pour le développement manquaient.

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Je ne sais pas si cela t'aiderait.


44
2018-01-23 22:08



pip install -r requirements.txt

Pour plus de détails s'il vous plaît vérifier l'option d'aide.

pip install --help

Nous pouvons trouver l'option '-r'

-r, --requirement Installer à partir du fichier des exigences donné. Cette option peut être                                 utilisé plusieurs fois.

Plus d'informations sur certaines options d'installation de pip couramment utilisées: (Ceci est l'option d'aide sur la commande d'installation de pip)

enter image description here

Aussi ce qui précède est l'ensemble complet des options. Veuillez utiliser pip install --help pour obtenir la liste complète des options.


21
2017-09-16 17:23



Souvent, vous aurez besoin d'une installation rapide à partir des archives locales, sans vérifier PyPI.

Tout d'abord, téléchargez les archives qui répondent à vos besoins:

$ pip install --download <DIR> -r requirements.txt

Ensuite, installez en utilisant –find-links et –no-index:

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt

13
2017-09-22 06:27



Je travaille avec beaucoup de systèmes qui ont été déblayés par les développeurs "en suivant les instructions qu'ils ont trouvées sur internet". Il est extrêmement commun que votre pip et ton python ne regardent pas les mêmes chemins / sites-packages. Pour cette raison, quand je rencontre l'étrangeté, je commence par faire ceci:

$ 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)

C'est un système heureux.

Voici un système malheureux. (Ou du moins c'est un système béatement ignorant qui amène les autres à être malheureux.)

$ 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

C'est malheureux car pip est (python3.6 et) en utilisant /usr/local/lib/python3.6/site-packages tandis que python est (python2.7 et) en utilisant /usr/local/lib/python2.7/site-packages

Quand je veux m'assurer que j'installe des exigences pour le droite Python, je fais ceci:

$ 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

Vous avez entendu, "Si ce n'est pas cassé, n'essayez pas de le réparer." La version DevOps de cela est, "Si vous ne l'avez pas cassé et que vous pouvez contourner le problème, n'essayez pas de le réparer."


10
2018-03-23 16:49



Installation du fichier requirements.txt dans virtual env avec python 3:

J'ai eu le même problème. J'essayais d'installer le fichier requirements.txt dans un environnement virtuel. J'ai trouvé la solution.

Au départ, j'ai créé mon env virtuel de cette façon:

virtualenv -p python3 myenv

Activer l'environnement en utilisant:

source myenv/bin/activate

Maintenant, j'ai installé le fichier requirements.txt en utilisant:

pip3 install -r requirements.txt

L'installation a été réussie et j'ai pu importer les modules.


1
2017-11-10 08:05