Я написал модуль (файл my_mod.py
файл находится в папке my_module
). В настоящее время я работаю в файле, cool_script.py
который находится в папке cur_proj
. Я открыл папку в PyCharm, используя File - open (и я предполагаю, следовательно, это проект PyCharm).
В ProjectView (CMD-7) я вижу свой проект cur_proj
(красным) и в разделе «Внешние библиотеки» my_module
. В cool_script.py я могу написать
from my_module import my_mod as mm
и PyCharm даже делает предложение для my_mod. Все идет нормально.
Тем не менее, когда я пытаюсь запустить cool_script.py, PyCharm сообщает мне «Нет модуля с именем my_module»
Это кажется странным для меня, потому что
А) в терминале (OS 10.10.2), в python, я могу импортировать модуль без проблем - в PYTHONPATH есть соответствующая запись в .bashrc
B) в PyCharm - Настройки - Project cur_proj - Project Interpreter - CogWheel рядом с интерпретатором python - подробнее - показать пути для иконки выбранного переводчика, пути из PYTHONPATH действительно появляются (как я думаю, они должны)
Следовательно, почему я получаю сообщение об ошибке при попытке запустить cool_script.py? - Чего мне не хватает?
Ноты:
- Я не объявляю другую / специальную версию Python в верхней части cool_script.py
- Я убедился , что путь к
my_module
правильно - Я помещаю
__init__.py
файлы (пустые файлы) как в, такmy_module
и вcur_proj
- Я не пользуюсь
virtualenv
Приложение 2015-Фев-25
Когда я захожу в PyCharm для запуска - Редактировать конфигурации, для моего текущего проекта есть две опции, которые выбираются с галочкой: « Добавить корни содержимого в PYTHONPATH » и « Добавить корни источника в PYTHONPATH ». Когда я снял оба флажка, я могу загрузить свой модуль.
Так что это работает сейчас - но почему ?
Возникли дополнительные вопросы:
- Что такое «корни контента» и что такое «корни источников»? И почему добавление чего-либо к PYTHONPATH делает его каким-то образом ломающимся?
- я должен снять все эти опции все время (также и в настройках по умолчанию, а не только в конкретных конфигурациях проекта (левая панель диалога Run / Debug Configurations)?
Enable Django Support
в настройках Languages & Frameworks -> Django
в Pro версии PyCharm. Он открывал консоль django, что вызывало проблемы с импортом.
from foldername.mymodule import mymethod
. Еще одна вещь, которую я должен был сделать, это добавить пустую папку _init .py во все папки, которые вы будете использовать для доступа к вашему модулю, так что в случаеfrom parentfolder.childfolder.mymodule ...
необходимости вам понадобится init в двух папках. В зависимости от того, где расположены папки относительно друг друга, вам может понадобиться пакет верхнего уровня,sys.path
как описано в этом ответе