首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyCharm错误:尝试导入自己的模块时没有模块(python脚本)

PyCharm错误:尝试导入自己的模块时没有模块(python脚本)
EN

Stack Overflow用户
提问于 2015-02-25 03:53:53
回答 13查看 227.1K关注 0票数 188

我已经编写了一个模块(一个驻留在文件夹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中,我可以编写

代码语言:javascript
复制
from my_module import my_mod as mm

PyCharm甚至还为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

附录2015-2月25日

当我进入PyCharm运行--编辑配置,对于我当前的项目,有两个选项被选中:"Add content root to PYTHONPATH“和"Add source root to PYTHONPATH”。当我取消选中这两者时,我可以加载我的模块。

所以它现在可以工作了-- ,但是为什么是呢?

进一步的问题出现了:

  • 什么是“内容根”,什么是“源根”?

:为什么在PYTHONPATH中添加一些东西会使它以某种方式取消选中这两个选项(所以在默认设置中,不仅是项目特定的配置(运行/调试配置对话框的左侧面板)?

EN

回答 13

Stack Overflow用户

发布于 2016-02-22 20:29:38

如果您自己的模块在同一路径中,则需要将该路径标记为Sources Root。在项目资源管理器中,右键单击要导入的目录。然后选择Mark Directory As并选择Sources Root

票数 366
EN

Stack Overflow用户

发布于 2019-01-17 19:06:58

因此,如果您转到

->设置-> Project:My_project ->项目结构,

只需找到源代码所在的目录,并将其标记为"Sources“(您可以在同一窗口中看到它)。包含源代码的目录应该会变成蓝色。现在,您可以导入驻留在同一目录中的模块。

票数 64
EN

Stack Overflow用户

发布于 2018-08-19 17:21:59

如果您转到File -> Settings -> Project: YourProjectName -> Project Structure,您将看到当前正在处理的项目的目录布局。

您还需要确保将__init__.py文件放在资源目录中,或者放在您想要导入的任何位置,这样就可以很好地工作了。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28705029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档