PyCharm import externe bibliotheek

Ik gebruik PyCharm als editor voor python-code in Houdini. Telkens wanneer ik de hoofdbibliotheek van Houdini (hou) probeer te importeren, krijg ik een foutmelding in PyCharm. Als ik het codefragment toevoeg:-

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 

mijn code wordt zonder probleem uitgevoerd vanuit zowel Houdini als mijn geselecteerde tolk.

Mijn probleem is met PyCharm zelf. De editor markeert ‘import hou’ als een fout en alle daaropvolgende bestanden die dit bestand importeren, markeren modules die door dit bestand zijn geïmporteerd ook als fouten. Daardoor verlies ik de type-ahead-functionaliteit en krijg ik een overvloed aan foutmeldingen die het moeilijk maken om de echte problemen te herkennen.

Hoe zorg ik ervoor dat PyCharm het pad naar de hou-module herkent.

Ik heb een paar dagen geprobeerd om Google een oplossing voor dit probleem te geven, maar ze lijken allemaal te verwijzen naar tabbladen en instellingen die niet in mijn versie van PyCharm (Community-editie 3.4.1) voorkomen. E.G. mijn ‘Project Interpreter’-instelling heeft alleen een lijst met pakketten en heeft geen ‘path’-tabblad zoals vermeld in veel ‘fixes’ voor nauw verwante problemen.


Antwoord 1, autoriteit 100%

Sinds PyCharm 3.4 is het padtabblad in de ‘Project Interpreter’-instellingen vervangen. Om paden aan een project toe te voegen, moet u het tandwiel selecteren, op ‘Meer…’ klikken en vervolgens het pictogram “Toon pad voor de geselecteerde tolk” selecteren. Dit stelt u in staat om paden aan uw project toe te voegen zoals voorheen.

Mijn project gedraagt ​​zich nu zoals ik zou verwachten.

Dit zijn de vensters die u zou zien als u de instructies volgt


Antwoord 2, autoriteit 55%

Antwoord voor PyCharm 2016.1 op OSX:
(Dit is een update van het antwoord van @GeorgeWilliams993’s antwoord hierboven, maar ik heb nog niet de vertegenwoordiger om opmerkingen te maken.)

Ga naar het Pycharm-menu –> Voorkeuren –> Project: (projectnaam) –> Projecttolk

Bovenaan staat een pop-up voor “Project Interpreter”, en rechts daarvan is een knop met ellipsen (…) – klik op deze knop voor een anderepop-up en kies ” Meer” (of, zoals later blijkt, klik op de hoofdpop-up en kies “Alles weergeven”).

Dit toont een lijst met tolken, waarvan er één is geselecteerd. Onder aan het scherm vindt u een reeks hulpmiddelen… kies de meest rechtse:

Toon pad voor de geselecteerde tolkknop

Nu zou je alle paden moeten zien die pycharm zoekt om import te vinden, en je kunt de “+” knop onderaan gebruiken om een ​​nieuw pad toe te voegen.

Ik denk dat het belangrijkste verschil met het antwoord van @GeorgeWilliams993 is dat de versnellingsknop is vervangen door een reeks ellipsen. Dat bracht me van de wijs.


Antwoord 3, autoriteit 28%

Update (2018-01-06):Dit antwoord is verouderd. Moderne versies van PyCharm bieden paden via Instellingen ⇨ Projectinterpreter ⇨ ⚙ ⇨ Toon alles ⇨ Toon paden-knop.


PyCharm Professional Edition heeft het tabblad Pathsin de instellingen van Python Interpreters, maar Community Edition heeft het blijkbaar niet.

Als tijdelijke oplossing kunt u een symbolische link maken voor uw geïmporteerde bibliotheek onder de hoofdmap van uw project.

Bijvoorbeeld:

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

Antwoord 4, autoriteit 13%

bijgewerkt op 26 mei 2018

Als de externe bibliotheek zich in een map onder het project bevindt, dan

Bestand-> Instellingen-> Project-> Projectstructuur-> selecteer de map en Markeer als bronnen!

Zo niet, voeg dan content root toe en doe soortgelijke dingen.


Antwoord 5, autoriteit 8%

In mijn geval was het juiste menupad:

Bestand & GT; Standaardinstellingen & GT; Projectinterpreter


6, Autoriteit 5%

Ik wilde een importpad toevoegen, voor een ander project elders in mijn werkruimte.
MacOS Catalina 10.15.5
Pycharm-community 2020.1.1

Pycharm – Voorkeuren – Projectinterpreter – COG-symbool – Toon alle

Onderaan dat dialoogvenster toont het 5 knoppen:
Plus, min, potlood, trechter en directory-boom.

klik op Directory Tree. U kunt nu de Plus-knop gebruiken in het nieuwe dialoogvenster om uw ‘externe bibliotheek’ zoekpad toe te voegen.

Indien succesvol, ziet u nu de mapnaam in de “externe bibliotheken” -ruit in het projectvenster.

Other episodes