Importere filer fra en annen mappe
Jeg har følgende mappestruktur.
application/app/folder/file.py
(søknad/app/mappe/fil.py)
og jeg vil importere noen funksjoner fra file.py i en annen Python-fil som ligger i
application/app2/some_folder/some_file.py
.
Jeg' har prøvd
from application.app.folder.file import func_name
(fra applikasjon.app.mappe.fil)
og noen andre forskjellige forsøk, men så langt klarte jeg ikke å importere riktig. Hvordan kan jeg gjøre dette?
1168
3
Som standard kan du ikke det. Når du importerer en fil, søker Python bare i den gjeldende katalogen, katalogen som inngangspunktskriptet kjører fra, og
sys.path
som inkluderer steder som pakkeinstallasjonskatalogen (det er faktisk litt mer komplekst enn dette, men dette dekker de fleste tilfeller).Du kan imidlertid legge til Python-banen ved kjøretid:
Ikke noe galt med:
Bare sørg for at
folder
også inneholder en__init__.py
, slik at den kan inkluderes som en pakke. Ikke sikker på hvorfor de andre svarene snakker omPYTHONPATH
.Jeg tror en ad-hoc måte ville være å bruke miljøvariabelen
PYTHONPATH
som beskrevet i dokumentasjonen: Python2, Python3.