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?
Pour PyCharm 5 (ou 2016.1), vous pouvez:
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:
⌘,
).Recherchez Project Structure
dans la barre latérale gauche sous Project: Your Project Name
Ajouter ou supprimer des modules dans la barre latérale droite
EDIT: J'ai mis à jour cette capture d'écran pour PyCharm 4.5
Pour moi, la solution était d'aller à
Run > Edit Configuration > Defaults > Python
puis gérer le
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.
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 ....
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.
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.
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