Вот мои настройки каталога:импорта локального пакета без изменения sys.path
mydir
├── folder
└── subfolder
└── script1.py
└── shared
├── otherstuff
├── script2.py
└── pkg
├── box.py
└── __init__.py
script2.py
начинается с
import pkg
и она отлично работает. Когда я включаю ту же линию в script1.py
, я получаю:
Traceback (most recent call last):
File "script1.py", line 1, in <module>
import pkg
ImportError: No module named 'pkg'
Есть ли хороший способ получить синтаксис, просто работать в script1.py
? В настоящее время я использую sys.path.insert(0, os.path.abspath('./shared'))
до import pkg
(я звоню script1
от mydir
), но это не поддается легкому повторному использованию, и это неудобно, и изменение sys.path
, вероятно, является плохим решением в целом.
Что мне здесь не хватает? Каков наилучший способ получить pkg
в script1.py
?
Примечание: Вчера я спросил this, но я не понимал, что ответы там не будут работать для структуры, описанной выше, и это то, что мне действительно нужно. К сожалению.
Python 3.x, btw.