2012-05-16 1 views
3

У меня есть следующая структура питона модулей:Как импортировать скрипт python из подмодуля?

/foo.py 
/module 
/module/__init__.py 
/module/submodule/__init__.py 
/module/submodule/bar.py 

в foo.py У меня есть следующий код:

from module.submodule.bar import * 

Но в результате я получаю следующее сообщение об ошибке:

'.../module/bar.py': [Errno 2] No such file or directory 

Почему python пытается найти файл на /module/bar.py, но не является модулем/подмодулем/баром, как я указал в импорте?

+0

Работы для меня. У вас что-то странное в одном из файлов '__init __. Py'? – geoffspear

+3

Это не ошибка, которую вы получаете от импорта. Похоже, что у вас есть код, который делает 'open (something)' либо в 'bar.py', либо в одном из файлов' __init __. Py'. –

+0

Да, это было очень странное поведение от PyCharm после рефакторинга. Устранение проблемы с настройкой Run Configuration позволило решить эту проблему. Спасибо всем, вы дали мне идею попытаться запустить его с консоли, и это сработало. – bigdatarefiner

ответ

1

Это была ошибка PyCharm. Если вы перемещаете свой сценарий из одной папки в другую, он сохраняет старый путь и работает с ним, даже если вы изменили его в Run config. Таким образом, восстановление конфигурации Run позволяет решить эту проблему.