touch dir1{,/dir2}/__init__.py
и, вероятно,
touch dir1{,/dir3}/__init__.py
затем, в File2.py
:
from dir1.dir2 import File2
fram = File2.Framistan(12)
бонусные баллы за setup.py
с:
from setuptools import setup, find_packages
setup(
...
packages=find_packages(),
...
)
связать их вместе.
Для любого произвольного FileX.py
, чтобы увидеть другой пакет, вам необходимо установить PYTHONPATH
в вашу среду. Но для идиоматического способа сделать это, просто используйте setup()
, как указано выше. Это поместит ваши пакеты в путь поиска от вашего имени.
Являются ли 'dir1',' dir2' или 'dir3' модулями? – Blender
non-hacky - это сделать 'dir1' и' dir1.dir2' в пакеты. –
В качестве альтернативы добавьте 'dir1/dir2' в ваш' PYTHONPATH'. – Evert