Я написал модуль (файл 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"
Мне это кажется странным, потому что
A) в терминале (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 для запуска - Edit Configurations, для моего текущего проекта есть два параметра, которые выбраны с помощью галочки: "Добавить корни контента в PYTHONPATH" и "Добавить корни источника в PYTHONPATH". Когда у меня есть оба флажка, я могу загрузить свой модуль.
Итак, теперь это работает - , но почему?
Появились дополнительные вопросы:
- Что такое "корни контента" и что такое "исходные корни"? И почему добавление чего-то к PYTHONPATH заставляет его как-то сломаться?
- Должен ли я все раз отмечать обе эти опции (так же, как и в настройках по умолчанию, а не только для конкретных конфигураций проекта (левая панель диалогового окна "Запуск/отладка конфигурации" )?