python - PyCharm 错误 : 'No Module' when trying to import own module (python script)

标签 python module pycharm

我已经编写了一个模块(文件 my_mod.py 文件位于文件夹 my_module 中)。 目前,我正在处理位于文件夹 cur_proj 中的文件 cool_script.py。我已经使用 File -- open 在 PyCharm 中打开了该文件夹(因此我假设它是一个 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中,我可以导入模块没问题-.bashrc中的PYTHONPATH中有对应的条目

B) 在 PyCharm -- Settings -- Project cur_proj -- Project Interpreter -- CogWheel 在 python 解释器旁边 -- 更多 -- 显示所选解释器图标的路径,来自 PYTHONPATH 的路径确实出现(我认为它们应该出现)

因此,当我尝试运行cool_script.py 时,为什么会出现错误? -- 我错过了什么?

注意事项:

2015 年 2 月 25 日附录

当我进入 PyCharm 运行 -- 编辑配置时,对于我当前的项目,有两个选项带有复选标记:“将内容根添加到 PYTHONPATH”和“将源根目录添加到 PYTHONPATH"。当我都未选中时,我可以加载我的模块。

所以它现在可以工作了——但是为什么

出现了更多问题:

  • 什么是“内容根”,什么是“源根”?为什么向 PYTHONPATH 添加一些东西会导致它以某种方式中断?
  • 我是否应该一直取消选中这两个选项(在默认设置中,不仅是项目特定配置(运行/调试配置对话框的左侧面板)?

最佳答案

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

关于python - PyCharm 错误 : 'No Module' when trying to import own module (python script),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28705029/

相关文章:

Azure 机器学习-Azure Blob 存储

Perl 模块 - 跨主机迁移/部署

python - 使用 STATICFILES_DIRS 而不是 STATIC_URL 时加载静态 css 和 js

python - 如何更改 PyCharm 中的 django 版本?

python - 遍历 Django 模板中的一个列表

python - 更改同一轴上的子图的大小

JavaScript 模块

python - Python 是否有用于解析 HTTP 请求和响应的模块?

python - 将字符串从一个 numpy 数组匹配到另一个

javascript - 使用自定义语言 (Dust.js) 重新格式化代码?