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.
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:
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 Paths
in 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.