Meer
Importeren van bestanden uit een andere map
Ik heb de volgende mappenstructuur.
application/app/folder/file.py
en ik wil enkele functies importeren uit file.py in een ander Python bestand dat zich bevindt in
application/app2/some_folder/some_file.py
Ik heb geprobeerd
from application.app.folder.file import func_name
en enkele andere verschillende pogingen maar tot nu toe is het me niet gelukt om goed te importeren. Hoe kan ik dit doen?
1168
3
Standaard kun je dat niet. Bij het importeren van een bestand doorzoekt Python alleen de huidige directory, de directory van waaruit het entry-point script wordt uitgevoerd, en
sys.path
waarin locaties zoals de installatie directory van het pakket zijn opgenomen (het'is eigenlijk iets complexer dan dit, maar dit dekt de meeste gevallen).U kunt echter toevoegen aan het Python-pad tijdens runtime:
Niets mis mee:
Zorg er alleen voor dat
folder
ook een__init__.py
bevat, dit zorgt ervoor dat het als een pakket kan worden opgenomen. Ik weet niet zeker waarom de andere antwoorden het overPYTHONPATH
hebben.Ik denk dat een ad-hoc manier zou zijn om de omgevingsvariabele
PYTHONPATH
te gebruiken zoals beschreven in de documentatie: Python2, Python3