PyCharm ne reconnaît pas les modules installés en mode développement
J'ai deux pur python projets dans PyCharm 3.4.1 Professional Edition. La première, appelons ça de la p
(comme un paquet), est structuré comme un setuptools paquet (c'est à dire avec setup.py-à toutes les exigences, etc., cependant il n'est pas transféré à pypi ou de tout autre référentiel en ligne). Le second, nous allons l'appeler s
(comme le script), est juste un script python avec deux modules.
Projet s
est (dans PyCharm) configuré pour utiliser un dédié virtualenv, nous allons l'appeler venv
.
Le problème que j'ai est le suivant: lorsque j'installe le projet (forfait) p
dans venv
comme ceci:
$ source /path/to/venv/bin/activate
(venv)$ cd /path/to/p
(venv)$ python3 setup.py develop
dans PyCharm dans le projet s
import p
déclarations sont errorneous avec message Pas de module nommé p. Cependant, lorsque je lance le script dans s
tout va bien, le seul problème est la PyCharm IDE se plaindre de ne pas être en mesure de trouver le module. Je peux vivre avec cela, mais il est très ennuyeux...
Pourquoi cela? Est-il un PyCharm chose ou l'emballage chose? Voir NOUVELLES ci-dessous.
Le projet/paquet p
a la structure suivante:
p/
|
+- p/
| |
| +- __init__.py
| +- other subpackages, modules, etc.
+- setup.py
+- README, DESCRIPTION, setup.cfg, etc.
Lorsque je configure le PyCharm projet p
à vivre dans son propre virtualenv et l'installer en mode de développement, tout fonctionne bien.
NOUVELLES
Ce problème est encore présent dans PyCharm 5.0.4. Cependant, j'ai réussi à le résoudre, de type de.
Pour certaines raisons, j'ai dû installer un autre paquet de pypi. Je l'ai fait par le biais de PyCharm en allant dans Fichier -> Paramètres -> Projet: -> Projet d'Interprète, en cliquant sur le vert +
trouver le paquet et en appuyant sur le bouton Installer le Paquet. Après l'installation, le paquet installé par python3 setup.py develop
est bien reconnu par PyCharm. Évidemment, le problème était que PyCharm n'ont pas de cache en synchronisation avec la réalité.
Donc la nouvelle question est, peut PyCharm être dit de mettre à jour ses caches concernant l'utilisées environnement python?
source d'informationauteur zegkljan
Vous devez vous connecter pour publier un commentaire.
De Pycharm 2016.1.4 (édition professionnelle), il semble que l'ouverture d'un autre projet (par exemple par Ouvrir Récent), puis en ouvrant l'original fait Pycharm réindexer les paquets installés et donc de reconnaître la développer installé les packages.
C'est assez pour moi.
Dans le volet projet, le répertoire qui détient p doit être marqué en tant que source. Disponible sous: clic Droit -> "Marque Répertoire" -> "les Sources de la Racine".
Remarque: Ce paramètre est également l'ajouter à PYTHONPATH cours d'exécution à partir du menu exécuter si la case correspondante pour l'option est cochée dans la section "Modifier les Configurations" (par défaut).
J'ai eu un diable de temps à se PyCharm de reconnaître une classe dans un module que je venais d'écrire.
Le problème est que PyCharm semble à défaut de ne pas importer le module de classe chemins, ce qui nécessite deux séparé de bugs à corriger.
Étape 1
Clic droit sur le nom du module, et le marquer comme "Source":
Étape 2
Pour une raison quelconque, par défaut dans PyCharm, il ne fait pas ajouter des répertoires marqué comme "Sources de la Racine" pour le Python path. Résoudre ce problème en commutation.
Supplémentaire pour les experts
Avis le "Script de Démarrage" dans l'image ci-dessus. Je suppose que manuellement ajouter ces lignes à votre script Python serait également obtenir le même résultat.
Testé Sur
J'ai juste eu le même problème comme le vôtre.
Semble pycharm peut ne pas reconnaître le module installé directement par setup.py mais peut reconnaître module installé par le pip.
Enfin, je l'utilise pip install src_path, mais j'ai eu à pip install à chaque fois que je modifie le code source.
Solution
Dans la liste déroulante, cliquez sur Afficher tout.... Les interprètes disponibles s'affichent dans le Projet Interprètes boîte de dialogue.
Sélectionnez l'interprète.
Dans la barre d'outils du Projet Interprètes de la boîte de dialogue, cliquez sur l'icône du bouton montrer chemin (dernière option). Les chemins existants de la sélection interprète apparaître dans l'Interpréteur Chemins de la boîte de dialogue.
le tour est joué!! vous êtes bon pour aller.
Explication
Chaque projet fait référence à un interprète, que vous pouvez trouver dans paramètres->projet interprète. Maintenant, c'interprète utilise un tas de Chemins de regarder pour une bibliothèque. Par défaut, il a site-packages et des tas d'autres chemins.
Maintenant, depuis que vous avez utilisé pip développer -e ou python setup.py développer, un lien dynamique est créé pointant vers votre paquet du dépôt au lieu d'un package d'installation dans le site répertoire packages. Donc, notre source du paquet chemin n'est pas ici, Ce que nous devons faire est d'ajouter notre source chemin de interprète Chemins de pour le faire fonctionner
Ref:
Sorte de solution qui a fonctionné pour moi:
Ouvrir les deux projets en PyCharm dans la même fenêtre (espace de travail). Maintenant, ouvrez la fenêtre des paramètres, et le titre de "Projet -> Projet Depencies" vous pouvez maintenant sélectionner le projet
s
dépend de projetp
. Les importations et l'auto-complétion fonctionne maintenant très bien.Je Viens d'installer le package à l'aide de Pycharm alors le problème est résolu.
Le problème pourrait être votre interprète chemin. Vérifier si l'interprète est à la pointe. Dans la plupart des cas, il est ~/PycharmProjects/essais/venv/bin/python, ce qui pourrait être dirigée vers un python de bain installé en tant que partie de Pycharm
Changer le softlink de python dans votre /usr/bin/python chemin et les choses devraient fonctionner