186 votes

Version Conda pip install -r requirements.txt --target ./lib

Quelle est la version conda de ceci ?

pip install -r requirements.txt --target ./lib

J'ai trouvé ces commandes :

while read requirement; do conda install --yes $requirement; done < requirements.txt

Mais il ne dit pas comment spécifier --target ./lib

2 votes

Avez-vous essayé conda install --file requirements.txt ?

254voto

phd Points 20065

Vous pouvez exécuter conda install --file requirements.txt au lieu de la boucle, mais il n'y a pas de répertoire cible dans installation de conda . conda install installe une liste de paquets dans un environnement conda spécifié.

3 votes

Quand je fais ça sur mon requirements.txt en spécifiant les versions des paquets, j'obtiens InvalidVersionSpec: Invalid version '3.0.': empty version component

0 votes

Il n'y a pas de répertoire cible pour in conda install . Toutefois, il est possible de spécifier un emplacement pour un environnement virtuel à l'aide de la commande --prefix argument facultatif ( doc ) et les spécifications de l'environnement cible peuvent être données avec l'option --name o --prefix les arguments facultatifs ( doc ).

0 votes

Que voulez-vous dire par conda install installs a list of packages into a specified conda environment. ? Pour moi, il l'installe généralement pour l'environnement Conda actif à ce moment-là.

92voto

datasmid Points 1664

Pour créer un environnement nommé py37 avec python 3.7, en utilisant le canal conda-forge et une liste de paquets :

conda create -y --name py37 python=3.7
conda install --force-reinstall -y -q --name py37 -c conda-forge --file requirements.txt
conda activate py37
...
conda deactivate

Les drapeaux sont expliqués :

  • -y : Oui, ne demandez pas de confirmation.
  • --force-reinstall : Installer le paquet même s'il existe déjà.
  • -q : Silencieux, n'affiche pas la barre de progression.
  • -c : Chaînes, chaînes supplémentaires pour la recherche de paquets. Il s'agit d'URLs recherchés dans l'ordre

Vous pouvez également créer un environnement.yml au lieu du fichier requirements.txt :

name: py37
channels:
  - conda-forge
dependencies:
  - python=3.7
  - numpy=1.9.*
  - pandas

Utilisez ces commandes pour créer et activer l'environnement conda en fonction des spécifications du fichier Yaml :

conda env create --file environment.yml
conda activate py37

Utilisez cette commande pour répertorier les environnements dont vous disposez :

conda info --envs

Utilisez cette commande pour supprimer l'environnement :

conda env remove --name py37

Nouveau ! Le rôle ansible dockpack.base_conda peut gérer les environnements conda sur Linux, Mac et Windows, et peut être utilisé pour créer une image docker avec des environnements conda personnalisés.

24 votes

Expliquer les drapeaux serait utile

0 votes

Y a-t-il une raison pour laquelle après la 2ème commande ci-dessus python3 est supprimé de l'environnement et python2 est le seul restant ?

1 votes

Conda gère les environnements python, conda deactivate réinitialise votre shell, conda activate py37 définit votre PATH.

18voto

Amrit Das Points 294

Vous pouvez toujours essayer ceci :

/home/user/anaconda3/bin/pip install -r requirements.txt

Cela utilise simplement le pip installé dans l'environnement conda. Si pip n'est pas préinstallé dans votre environnement, vous pouvez toujours exécuter la commande suivante

conda install pip

1 votes

Juste pip install -r requirements.txt fonctionne très bien pour moi.

0 votes

Python -m pip install -r requirements.txt avec env. conda activé

0 votes

Comme ci-dessus, une fois que j'ai activé le conda environnement, je viens de faire pip3 install -r requirements.txt .

4voto

KingDarBoja Points 331

Une recherche rapide sur le site Documents officiels de Conda vous aidera à trouver ce que fait chaque drapeau.

Jusqu'à présent :

  • -y : Ne demandez pas de confirmation.
  • -f : Je pense que ça devrait être --file pour lire les versions des paquets à partir du fichier donné.
  • -q : Ne pas afficher la barre de progression.
  • -c : Canal supplémentaire pour la recherche de paquets. Il s'agit des URLs recherchées dans l'ordre

1voto

John DaCosta Points 1718

Est-ce que ça marcherait ?

cat requirements.txt | while read x; do conda install "$x" -p ./lib ;done

ou

conda install --file requirements.txt -p ./lib

1 votes

La meilleure solution pour moi : cat requirements.txt | while read x ; do conda install -y "$x" ;done

0 votes

J'aime bien celle-là, elle pourrait être plus lente, mais plus fiable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X