我写了一个模块(文件 my_mod.py 文件驻留在文件夹 my_module 中) . 目前,我正在使用文件 cool_script.py ,该文件位于文件夹 cur_proj 中 . 我已经使用File - open打开了PyCharm中的文件夹(我假设,因此,它是一个PyCharm项目) .
在ProjectView(CMD-7)中,我可以看到我的项目 cur_proj (红色)和"External Libraries"下我看到 my_module . 在cool_script.py中,我可以写
from my_module import my_mod as mm
而PyCharm甚至为my_mod提出建议 . 到现在为止还挺好 .
However, when I try to run cool_script.py, PyCharm tells me "No module named my_module"
这对我来说很奇怪,因为
A)在终端(OS 10.10.2)中,在python中,我可以导入模块没问题 - .bashrc中的PYTHONPATH中有相应的条目
B)在PyCharm中 - 设置 - 项目cur_proj - 项目解释器 - 在python解释器旁边的CogWheel - 更多 - 显示所选解释器图标的路径,PYTHONPATH的路径确实出现(我认为应该这样)
因此,当我尝试运行cool_script.py时,为什么会出现错误? - What am I missing?
笔记:
附录2015年2月25日
当我进入PyCharm运行 - 编辑配置时,对于我当前的项目,有两个选项带有复选标记:“将内容根添加到PYTHONPATH " and "将源根添加到PYTHONPATH” . 当我取消选中时,我可以加载我的模块 .
所以它现在有效 - but why ?
出现了更多问题:
什么是"content roots"什么是"source roots"?为什么在PYTHONPATH中添加一些内容会让它以某种方式破坏?
我是否应该一直取消选中这两个选项(默认情况下也是如此,不仅是项目特定的配置(运行/调试配置对话框的左侧面板)?