web-dev-qa-db-fra.com

Comment configurer PYTHONPATH personnalisé avec VM et PyCharm?

J'utilise IntelliJ avec le plug-in Python et la fonction Interprète à distance pour communiquer avec ma VM Vagrant. Il configure correctement l'interpréteur distant pour utiliser l'interpréteur de ma machine virtuelle. Cependant, j'utilise un PYTHONPATH personnalisé dans ma machine virtuelle et j'aimerais qu'IntelliJ reconnaisse ce chemin et inclut les modules dans ce chemin lors du développement.

Comment configurer l'interpréteur distant d'IntelliJ/PyCharm pour utiliser un PYTHONPATH personnalisé sur la machine virtuelle?

61
baalexander

Pour PyCharm 5 (ou 2016.1), vous pouvez:

  1. sélectionnez Préférences> Interprète de projet 
  2. à la droite du sélecteur d'interprète, un bouton "...", cliquez dessus 
  3. sélectionnez "plus ..."
  4. faire apparaître une nouvelle fenêtre "Project Interpreters" 
  5. sélectionnez le bouton le plus à droite (nommé "Afficher les chemins pour l'interprète sélectionné") 
  6. faire apparaître une fenêtre "Chemins d'interprétation" 
  7. cliquez sur le bouton "+"> sélectionnez le répertoire PYTHONPATH souhaité (le dossier contenant les modules python), puis cliquez sur OK.
  8. Terminé! Profitez-en!

 enter image description here

 enter image description here

 enter image description here  enter image description here

94
phil

Les instructions pour l'édition de votre PYTHONPATH ou la résolution des problèmes de résolution d'importation pour l'inspection du code sont les suivantes:

  1. Ouvrir les préférences (sur un Mac, le raccourci clavier est ⌘,).

How to get to Settings from Menu

  1. Recherchez Project Structure dans la barre latérale gauche sous Project: Your Project Name

  2. Ajouter ou supprimer des modules dans la barre latérale droite

Project Structure Settings in Pycharm 4.5

EDIT: J'ai mis à jour cette capture d'écran pour PyCharm 4.5

72
Bjorn Tipling

Pour moi, la solution était d'aller à

Run > Edit Configuration > Defaults > Python

puis gérer le 

  • "Ajouter des racines de contenu à PYTHONPATH" et 
  • "Ajouter la racine source à PYTHONPATH" 

ainsi que la définition du champ "Répertoire de travail".

Si vous avez configuré vos propres configurations Run/Debug, vous voudrez peut-être aller à 

Run > Edit Configuration > Python > [Whatever you called your config]

et éditez-le ici.

Mon problème était que je voulais que tout mon référentiel soit inclus dans mon projet PyCharm 2016.2, mais seul un sous-dossier était la racine du code source Python. Je l'ai ajouté en tant que "Racine source" en faisant un clic droit sur le dossier puis

Mark directory as > Source Root

Puis décochez "Ajouter les racines du contenu à PYTHONPATH" et cochez la case "Ajouter la racine source à PYTHONPATH" dans le menu de configuration Exécuter/Déboguer. J'ai ensuite vérifié le chemin du dossier en faisant:

import sys
logger.info(sys.path)

Cette sortie:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

Cependant, sans le correctif, il a déclaré:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root',                   <-- NOT WANTED
    '/usr/lib/python3.4', 
    '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

Ce qui signifiait que j'avais le dossier racine du projet inclus. Cela a gâché le chemin pour moi.

11

D'après mon expérience, utiliser une variable PYTHONPATH est généralement une mauvaise approche, car elle ne fonctionne pas bien avec VENV sous Windows. PYTHON lors du chargement préparera le chemin en ajoutant PYTHONPATH au chemin, ce qui peut amener votre Venv soigneusement préparé à extraire préférentiellement les packages de site globaux.

Au lieu d’utiliser PYTHON path, incluez un fichier pythonpath.pth dans le répertoire site-packages correspondant (bien que les pythons personnalisés à surveiller les recherchent parfois à des emplacements différents; chaque environnement virtuel. Cela agira comme un PYTHONPATH seulement, il sera spécifique à l'installation de python, vous pouvez donc en avoir un distinct pour chaque installation/environnement de python. Pycharm s’intègre fortement à VENV si vous vous contentez d’utiliser le python du VENV en tant qu’installation python.

Voir par exemple cette SO question pour plus de détails sur les fichiers .pth ....

2
phil_20686

Cela a été fait avec PyCharm Community 2019.1

  1. Aller dans les paramètres du projet  Settings 
  2. Allez dans la structure du projet et faites un clic droit sur le répertoire que vous voulez ajouter et cliquez sur "Sources"  Project Structure - add sources 

Cela devrait ajouter le répertoire à votre chemin python  Project Structure - after add sources 

2
dustindorroh

Vous pouvez le faire en allant dans la boîte de dialogue de l'interprète. Cliquez sur l'interprète que vous utilisez et, en dessous, vous devriez voir deux onglets, l'un appelé Packages et l'autre appelé Path.

Cliquez sur Chemin et ajoutez votre VM chemin.

0
Games Brainiac

Dans pycharm 5, suivez ceci: https://www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html

1) Ouvrez la boîte de dialogue Paramètres, puis cliquez sur la page Interprète de projet.
2) Dans le volet Projets, choisissez le projet souhaité.
3) Pour le projet sélectionné, choisissez SDK dans la liste des interpréteurs Python disponibles et des environnements virtuels.

0
Saurabh

Dans Intellij v2017.2, vous pouvez accéder à:

run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign

Nom = PYTHONPATH

valeur = your_python_path

0
Joris Kinable