web-dev-qa-db-fra.com

PyCharm import bibliothèque externe

J'utilise PyCharm comme éditeur pour le code python dans Houdini. Chaque fois que j'essaie d'importer la bibliothèque principale de Houdini (hou), une erreur est signalée dans PyCharm. Si j'inclus l'extrait de code: -

try:  
   import hou  
except ImportError:  
    # Add $HFS/houdini/python2.6libs to sys.path so Python can find the  
    # hou module.  
    sys.path.append(os.environ['HFS'] + "/houdini/python%d.%dlibs" % sys.version_info[:2])  
    import hou 

mon code s'exécute sans problème depuis Houdini et l'interprète sélectionné.

Mon problème est avec PyCharm lui-même. L'éditeur signale "import hou" comme une erreur et tous les fichiers ultérieurs qui importent ce fichier marquent également les erreurs des modules importés par ce fichier. Par conséquent, je perds la fonctionnalité de saisie anticipée et reçois une profusion de messages d'erreur qui rendent difficile l'identification des problèmes réels.

Comment faire en sorte que PyCharm reconnaisse le chemin d'accès au module hou.

J'ai essayé, pendant quelques jours, de rechercher une solution à ce problème dans Google, mais ils semblent tous se référer à des onglets et à des paramètres qui ne figurent pas dans ma version de PyCharm (Community Edition 3.4.1). PAR EXEMPLE. Mon paramètre "Interprète de projet" ne contient qu'une liste de paquetages et ne comporte pas d'onglet "Chemin", comme indiqué dans de nombreux "correctifs" apportés à des problèmes étroitement liés.

47
GeorgeWilliams993

Depuis PyCharm 3.4, l'onglet "Chemin" des paramètres "Interprète de projet" a été remplacé. Pour ajouter des chemins à un projet, vous devez sélectionner la roue dentée, cliquer sur "Plus ..." puis sélectionner l'icône "Afficher le chemin de l'interprète sélectionné". Cela vous permet d’ajouter des chemins à votre projet comme auparavant.

Mon projet se comporte maintenant comme je le pensais.

These are the windows you would see while following the instructions

76
GeorgeWilliams993

Réponse pour PyCharm 2016.1 sur OSX: (Ceci est une mise à jour de la réponse de @ GeorgeWilliams993 ci-dessus, mais je n'ai pas encore le représentant pour commenter.)

Allez dans le menu Pycharm -> Préférences -> Projet: (nom du projet) -> Interprète de projet

En haut se trouve une fenêtre contextuelle pour "Interprète de projet" et à sa droite, un bouton avec des ellipses (...) - cliquez sur ce bouton pour un différent popup et choisissez "Plus" (ou, comme il se trouve, cliquez sur la popup principale et choisissez "Afficher tout").

Cela montre une liste d'interprètes, avec un sélectionné. Au bas de l'écran se trouve un ensemble d'outils ... choisissez le plus à droite:

Show path for the selected interpreter button

Vous devriez maintenant voir tous les chemins recherchés par pycharm pour trouver les importations et vous pouvez utiliser le bouton "+" en bas pour ajouter un nouveau chemin.

Je pense que la différence la plus significative de @ GeorgeWilliams993 est que le bouton d'engrenage a été remplacé par un jeu d'ellipses. Cela m'a jeté.

38
Hghowe

Mise à jour (2018-01-06): Cette réponse est obsolète. Les versions modernes de PyCharm fournissent des chemins via Paramètres ⇨ Interprète de projet ⇨ ⚙ ⇨ Tout afficher ⇨ Bouton Afficher les chemins.


PyCharm Professional Edition a l'onglet Paths dans Python Interpreters paramètres, mais Community Edition ne l’a apparemment pas.

En guise de solution de contournement, vous pouvez créer un lien symbolique pour votre bibliothèque importée à la racine de votre projet.

Par exemple:

myproject
    mypackage
        __init__.py
    third_party -> /some/other/directory/third_party
20
alexanderlukanin13

Dans mon cas, le chemin de menu correct était:

Fichier> Paramètres par défaut> Interprète de projet

7
Mowzer

mis à jour le 26 mai 1818

Si la bibliothèque externe se trouve dans un dossier du projet,

Fichier -> Paramètres -> Projet -> Structure du projet -> sélectionnez le dossier et Marque comme sources!

Si ce n'est pas le cas, ajoutez du contenu root et procédez de la même manière.

Pour référencer une bibliothèque externe dans un projet Fichier -> Paramètres -> Projet -> Structure du projet -> sélectionnez le dossier et marquez-le comme source

0
Darth Gabous