Voici le problème
J'ai un requirements.txt qui ressemble à ceci:
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 packages + autres.
J'ai créé un nouveau virtualenv avec
bin/virtualenv testing
en l'activant, j'ai essayé d'installer les packages selon requirements.txt à partir du répertoire d'archivage local.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
J'ai obtenu une sortie qui semble 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 paquet n'est installé correctement. Je ne peux pas importer le package, et aucun ne se trouve dans le répertoire site-packages de mon virtualenv. Alors qu'est-ce qui a mal tourné?
python
virtualenv
pip
kakarukeys
la source
la source
--no-index
pour qu'il ne regarde même pas PyPI?Réponses:
Cela fonctionne pour moi:
--no-index
- Ignorer l'index du package (en ne regardant que les--find-links
URL à la place).-f, --find-links <URL>
- Si une URL ou un chemin d'accès à un fichier html, puis analyser les liens vers les archives. Si un chemin d'accès local ou unefile://
URL est un répertoire, recherchez des archives dans la liste des répertoires.la source
--no-index
de la commande pip aident à installer l'--no-index
index de package Ignore (en ne regardant que les--find-links
URL à la place). Informations sur la--find-links
commande pip aide à l'installation-f
,--find-links <url>
si une URL ou un chemin vers un fichier html, puis analysez les liens vers les archives. Si un chemin local ou un fichier: // url est un répertoire, recherchez les archives dans la liste des répertoires.pip install <some_module>
utiliserrequirements.txt
sans que cela ne se mette à jourrequirements.txt
. Une alternative peut être la mise à jour d'un docker de sorte qu'il répertorie toutes les commandes pip install qui sont exécutées pour installer les dépendances.python -m pip install -r requirements.txt
à l'intérieur de l'environnement venv activé. les choses sont bien installées mais quand je fais la liste des pip, cela ne montre pas que les paquets, quand je suis dans le venv actif ou même après avoir désactivé venv. également pas en mesure d'utiliser ces packages.python
référence à l'exécutable python de l'environnement activé ($ which python
)?J'ai lu ce qui précède, je me rends compte que c'est une vieille question, mais elle est totalement non résolue et toujours en haut de mes résultats de recherche Google, alors voici une réponse qui fonctionne pour tout le monde:
la source
pip install -r /path/to/requirements.txt
. Cela détecte le changement, met à niveau le package et laisse tout le reste seul.requirements.txt
, aucun d'entre eux ne sera installé. Si un module requis importe une dépendance lors de son installation (au lieu de simplement la répertorier comme une exigence), il échouera même si la dépendance la précède dans la liste des dépendances, provoquant l'échec de tous les modules. C'est probablement un bogue d'importer un module dépendant lors de l'installation, mais il est également possible que les dépendances répertoriées dansrequirements.txt
ne soient pas installées de manière séquentielle, mais en même temps.Pour virtualenv installer tous les fichiers dans le fichier requirements.txt.
pip install -r requirements.txt
dans votre coquillela source
J'avais un problème similaire. J'ai essayé ceci:
(-U = mettre à jour s'il avait déjà été installé)
Mais le problème a continué. J'ai réalisé que certaines bibliothèques génériques pour le développement étaient manquées.
Je ne sais pas si cela pourrait vous aider.
la source
Pour plus de détails, veuillez vérifier l'option d'aide.
On peut trouver l'option '-r'
Plus d'informations sur certaines options d'installation de pip couramment utilisées: (Ceci est l'option d'aide de la commande pip install)
Ce qui précède est également l'ensemble complet des options. Veuillez utiliser pip install --help pour la liste complète des options.
la source
Réponse courte
ou sous une autre forme:
Explication
Ici,
-r
est une forme abrégée de--requirement
et il demande l'pip
installation à partir durequirements
fichier donné .pip
ne démarre l'installation qu'après avoir vérifié la disponibilité de tous les éléments répertoriés dans lerequirements
fichier et il ne démarre pas l'installation même s'ilrequirement
n'est pas disponible.Une solution de contournement pour installer les packages disponibles consiste à installer les packages répertoriés un par un. Utilisez la commande suivante pour cela. Un avertissement de couleur rouge s'affichera pour vous informer des packages indisponibles.
Pour ignorer les commentaires (lignes commençant par a
#
) et les lignes vides, utilisez:la source
Souvent, vous souhaiterez une installation rapide à partir des archives locales, sans sonder PyPI.
Tout d'abord, téléchargez les archives qui répondent à vos besoins:
Ensuite, installez en utilisant
–find-links
et–no-index
:la source
no such option: --download
Je travaille avec de nombreux systèmes qui ont été détruits par les développeurs "en suivant les instructions qu'ils ont trouvées sur Internet". Il est extrêmement courant que vous
pip
et vospython
ne regardiez pas les mêmes chemins / packages de site. Pour cette raison, lorsque je rencontre une bizarrerie, je commence par faire ceci:C'est un système heureux .
Voici un système malheureux . (Ou du moins, c'est un système parfaitement ignorant qui rend les autres mécontents.)
Il est mécontent car
pip
(python3.6 et) utilise/usr/local/lib/python3.6/site-packages
alors quepython
(python2.7 et) utilise/usr/local/lib/python2.7/site-packages
Lorsque je veux m'assurer d'installer les exigences sur le bon python, je fais ceci:
Vous avez entendu: "Si ce n'est pas cassé, n'essayez pas de le réparer." La version DevOps de ceci est: "Si vous ne l'avez pas cassé et que vous pouvez le contourner, n'essayez pas de le réparer."
la source
tout d'abord, créer un environnement virtuel
en python 3.6
en python 2.7
puis activez l'environnement et installez tous les packages disponibles dans le fichier requirements.txt.
la source
Installation du fichier requirements.txt dans env virtuel 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:
Activez l'environnement en utilisant:
Maintenant, j'ai installé le fichier requirements.txt en utilisant:
L'installation a réussi et j'ai pu importer les modules.
la source
virtualenv -p python myenv
,myenv\Scripts\activate.bat
,pip install -r requirements.txt
requirements.txt
un virtualenv. A moins que je manque quelque chose? Quoi qu'il en soit, merci!essaye ça
la source
OU
la source
--user
intérieur durequirements.txt
fichier?