Я пытаюсь реорганизовать проект Python, переместив скрипты из каталога пакетов в каталог верхнего уровня script. После этих изменений это выглядит так, как выглядит моя иерархия проектов:
MyProject/
setup.py
scripts/
my_package.py
my_package/
__init__.py
module_foo.py
Обратите внимание, что script и пакет имеют одинаковое имя.
script my_package.py
выглядит примерно так:
# MyProject/scripts/my_package.py
import os
try:
import my_package
print os.path.abspath(my_package.__file__)
except ImportError as e:
print e
При запуске выше script интерпретатор импортирует текущий модуль, а не пакет с тем же именем (обратите внимание: пакет my_package
уже был установлен в site-packages
как яйцо, и наша виртуальная среда правильно активируется.)
Как я могу импортировать пакет my_package
из script my_package.py
, если у них есть одно и то же имя?
Другая техническая информация:
- Python 2.7.3
- Сервер Ubuntu 12.04 LTS
- VirtualEnv 1.11.6