Для структуры каталогов, подобной следующей, мне не удалось сделать xy
импортируемым пакетом.
xy
├── __init__.py
├── z
│ ├── __init__.py
│ └── stuff.py
└── setup.py
Если бы setup.py
был каталогом вверх, я мог бы использовать
from setuptools import setup
setup(name='xy',
packages=['xy'])
но кроме того, ни одна комбинация package_dir
и packages
не дала мне import xy
, только import z
. К сожалению, перемещение каталога setup.py вверх на самом деле не вариант из-за чрезмерного количества жестко закодированных путей.
xy.z
, не обязательно кxy.setup
, но я бы предположил, чтоxy.setup
будет доступен, если где-то явно не удалено. - person Alex Riina   schedule 18.01.2014import z
в xy/__init__.py, импортировав xy, вы должны иметь доступ к xy.z без дополнительной суеты. - person Reti43   schedule 18.01.2014__init__
не будет приятным даже с некоторым циклом__import__ find_packages()
. - person Alex Riina   schedule 18.01.2014__all__
вообще приятным ? - person Reti43   schedule 18.01.2014