99 votes

Utiliser l'environnement Conda dans pycharm

Conda env est activé en utilisant source activer env_name .

Comment puis-je activer l'environnement dans pycharm ?

64voto

wasabi Points 1493

Ouvrir

pycharm/preferences/project/interpréteur de projet

Et vérifier l'interprète existant. Les environnements Conda y sont peut-être déjà répertoriés.

enter image description here

S'il n'existe pas, vous pouvez créer un nouvel environnement Conda avec le bouton "Create Conda Env".

enter image description here

Si vous recherchez un environnement Conda spécifique, vous pouvez utiliser 'add local'. Lorsque vous cliquez sur 'add local', vous saisissez le chemin de l'environnement Conda +. /bin/python

Vous pouvez lister tous les environnements Conda de votre système avec la commande suivante.

>>conda info --env
# conda environments:
#
tensorflow            *  /Users/username/miniconda3/envs/tensorflow

vous pouvez choisir l'approche qui correspond le mieux à vos besoins.

1 votes

Y a-t-il une différence entre l'utilisation de la fonction "Create Conda Env" de Pycharm et la création d'un nouvel environnement Conda dans le terminal, puis l'accès à celui-ci via la fonction "Add Local" de Pycharm ?

1 votes

Vous pouvez facilement tester. Créez un conda env via pycharm, puis ouvrez le terminal et listez tous les environnements, s'ils sont listés, cela signifie qu'il n'y a pas de différence. Vous pouvez lister conda env avec la commande suivante sur le terminal : conda info --envs

1 votes

Je n'ai pas cette option. Je n'ai que les options "add local" et "add remove".

44voto

Ari Cooper-Davis Points 1372

La meilleure réponse spécifique à PyCharm est celui-ci par wasabi (ci-dessous).

En général, si vous voulez utiliser un interpréteur à partir d'un environnement Conda, alors vous pouvez changer l'emplacement de l'interprète pour pointer vers l'environnement particulier que vous voulez utiliser, par ex. /home/username/miniconda/envs/bunnies comme mentionné dans ce commentaire .

Cependant, comme mentionné dans cette réponse de Mark Turner il est possible de faire exécuter un shell script lors de l'activation d'un environnement. Cette méthode n'exécutera pas ce shell script, mais vous pouvez suivre sa solution de contournement si vous avez besoin que ce shell script soit exécuté :

  • ouvrir une invite conda
  • activer l'environnement
  • lancer pycharm depuis l'invite conda

5 votes

Il est possible pour un paquet conda de livrer un shell script qui s'exécute lors de l'activation de l'environnement. Dans ce cas, l'activation d'un environnement fait plus que changer le PATH - elle exécute également de tels scripts. Ainsi, dans certains cas, il pourrait y avoir des problèmes spécifiques à PyCharm. En pratique, dans mon expérience (limitée), cependant, de tels scripts sont rares.

2 votes

Ce n'est pas tout à fait exact. Comme indiqué dans le commentaire ci-dessus, les envois conda peuvent également avoir des scripts d'activation (et de désactivation) installés par des paquets dans le répertoire [your_env]/etc/conda/activate.d (et deactivate.d ). PyCharm n'exécute pas ces derniers, mais activate / source activate et le fait de ne pas exécuter ces scripts peut conduire (et conduit) à un comportement inattendu dans PyCharm.

2 votes

@user2856 complètement d'accord. Activate fait beaucoup plus que changer le PATH. Il peut pointer vers d'autres scripts batch qui définissent toutes sortes de variables d'environnement au-delà du chemin. Je dirais que cette réponse est fausse.

13voto

Mark Turner Points 121

Comme mentionné dans l'un des commentaires ci-dessus, l'activation d'un environnement peut exécuter des scripts qui effectuent d'autres actions telles que la définition de variables d'environnement. J'ai travaillé dans un environnement qui faisait cela. Ce qui a fonctionné dans ce scénario était de :

  • ouvrir une invite conda
  • activer l'environnement
  • lancer pycharm depuis l'invite conda

Pycharm a alors accès aux variables d'environnement qui ont été définies en activant l'environnement.

12voto

Arnaud P Points 613

Et si environment.yml

Pycharm peut en effet créer un nouvel environnement Conda. Malheureusement, jusqu'à ce que cette question est fixé, il n'offrira pas environment.yml ce qui signifie qu'il n'installera pas les dépendances qui y sont déclarées.

Lorsque vous travaillez sur un projet basé sur un tel fichier, vous devez créer / mettre à jour l'env dédié manuellement sur votre machine :

conda env create -n <my-project>

Ensuite, n'oubliez pas de mettre à jour chaque fois environment.yml des changements (de votre part ou en amont).

conda env update -n <my-project>

Pas idéal

4voto

jiripi Points 188

Il me semble important de savoir que la configuration de l'interpréteur de projet comme décrit dans le commentaire de wasabi n'active pas réellement l'environnement conda.

J'ai eu un problème en lançant xgboost (que j'ai installé avec conda) dans PyCharm et il s'est avéré qu'il fallait aussi ajouter certains dossiers à PATH. Au final, j'ai dû me contenter d'une solution de contournement peu glorieuse :

  1. Trouver quels sont les dossiers supplémentaires dans PATH pour un environnement donné (avec echo %PATH% dans cmd)

  2. Dans le fichier que je souhaite exécuter, mettez-le en haut avant toute autre chose :

import os os.environ["PATH"] += os.pathsep + os.pathsep.join(my_extra_folders_list)

Je sais que ce n'est pas du tout la bonne solution, mais je n'ai pas trouvé d'autre solution que celle mentionnée par Mark Turner dans son commentaire.

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