Voici le problème
J'ai un exigences.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 locales contenant tous les paquets + d'autres.
J'ai créé un nouveau virtualenv avec
bin/virtualenv testing
Après l'avoir activé, j'ai essayé d'installer les paquets selon le fichier requirements.txt à partir du répertoire d'archive local.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
J'ai obtenu des résultats qui semblent indiquer que l'installation est correcte.
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 une vérification ultérieure a révélé qu'aucun des paquets 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. Qu'est-ce qui a mal tourné ?
J'ai lu ce qui précède, je me rends compte que c'est une vieille question, mais elle n'est absolument pas résolue et elle est toujours en tête de mes résultats de recherche sur Google, alors voici une réponse qui convient à tout le monde :
pip install -r /path/to/requirements.txt
Cela fonctionne pour moi :
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index
- Ignore l'index du paquet (en regardant seulement les URLs --find-links
à la place).
-f, --find-links <URL>
- S'il s'agit d'une URL ou d'un chemin vers un fichier html, rechercher les liens vers les archives.
S'il s'agit d'un chemin local ou d'une URL file://
qui est un répertoire, recherchez les archives dans la liste des répertoires.