Я хотел использовать полные имена импорта в своем проекте (см. этот вопрос). Описанная там проблема решена и все работает нормально (редактировать: если скрипт запущен с execfile
) вне eclipse и pydev (работает на windows), в ccps на linux (со встроенным jython) . Однако затмение дает мне следующую ошибку:
from Project.gui import gui
ImportError: No module named gui
в то время как структура моего проекта включает следующее (все без .py - это папка):
Project
__init__.py
gui
__init__.py
gui.py
Project.py
Я запускаю Project.Project.py и получаю указанную выше ошибку. print sys.path
прямо перед критическим импортом:
['****\\Root\\Project', '****\\Root',
*bunch of jars/jython libs*,
'__classpath__', '__pyclasspath__/']
Я запускаю eclipse и PyDev.
try
иexcept
. Вероятно, это будет выглядеть примерно так:try: import Project; except ImporError: import Foo as Project
- person mgilson   schedule 15.06.2012core.py
, но я не думаю, что для этого существует какое-то действительно установленное соглашение. Также обратите внимание, что в зависимости от того, что вы записали в__init__.py
, пользователю не обязательно знать имя основного файла. - person mgilson   schedule 15.06.2012core.py
- person ted   schedule 15.06.2012