我已经编写了一个模块(一个驻留在文件夹my_module中的my_mod.py文件)。目前,我正在处理位于文件夹cur_proj中的文件cool_script.py。我已经使用File -- open打开了PyCharm中的文件夹(因此,我假设它是一个PyCharm项目)。
在ProjectView (CMD-7)中,我可以看到我的项目cur_proj (红色),在"External Libraries“下,我确实看到了my_module。在cool_script.py中,我可以编写
from my_module import my_mod as mmPyCharm甚至还为my_mod提供了建议。到目前一切尚好。
但是,当我尝试运行cool_script.py时,PyCharm告诉我 "No module named my_module"
这对我来说似乎很奇怪,因为
A)在终端(OS 10.10.2)中,在python中,我可以顺利地导入模块--在.bashrc中的PYTHONPATH中有一个对应的条目
B)在PyCharm --设置--项目cur_proj --项目解释器-- python解释器旁边的CogWheel --更多--显示所选解释器的路径图标,PYTHONPATH中的路径确实会出现(我认为它们应该出现)
因此,当我尝试运行cool_script.py时,为什么会出现错误?-- 我缺少什么?
备注:
cool_script.py
my_module is correct__init__.py files (empty files)在my_module和cur_projvirtualenv附录2015-2月25日
当我进入PyCharm运行--编辑配置,对于我当前的项目,有两个选项被选中:"Add content root to PYTHONPATH“和"Add source root to PYTHONPATH”。当我取消选中这两者时,我可以加载我的模块。
所以它现在可以工作了-- ,但是为什么是呢?
进一步的问题出现了:
:为什么在PYTHONPATH中添加一些东西会使它以某种方式取消选中这两个选项(所以在默认设置中,不仅是项目特定的配置(运行/调试配置对话框的左侧面板)?
发布于 2016-02-22 20:29:38
如果您自己的模块在同一路径中,则需要将该路径标记为Sources Root。在项目资源管理器中,右键单击要导入的目录。然后选择Mark Directory As并选择Sources Root。
发布于 2019-01-17 19:06:58
因此,如果您转到
->设置-> Project:My_project ->项目结构,
只需找到源代码所在的目录,并将其标记为"Sources“(您可以在同一窗口中看到它)。包含源代码的目录应该会变成蓝色。现在,您可以导入驻留在同一目录中的模块。
发布于 2018-08-19 17:21:59
如果您转到File -> Settings -> Project: YourProjectName -> Project Structure,您将看到当前正在处理的项目的目录布局。
您还需要确保将__init__.py文件放在资源目录中,或者放在您想要导入的任何位置,这样就可以很好地工作了。
https://stackoverflow.com/questions/28705029
复制相似问题