在PyCharm中运行模块与交互式shell

时间:2014-11-12 21:42:59

标签: python pycharm

我在交互式shell中使用以下命令运行模块时遇到问题:

python modulea.py

我收到导入错误和其他一些错误,我在PyCharm中运行模块时看不到这些错误。 modulea.py位于自己的包中,并引用另一个模块,该模块也位于自己的包中。结构是这样的:

package_a:
--modulea.py
--__init__.py
package_b:
--moduleb.py
--__init__.py
resources:
--input.txt
--output.txt

在我的modulea.py中,我像这样导入moduleb:

from package_b import moduleb as b

它就像PyCharm中的魅力一样,但从命令行运行时会给我ImportError。如何在不改变项目结构的情况下解决这个问题?我也打开txt文件,给出这样的路径:

with open("../resources/input.txt", "r", encoding="utf-8") as input_file:

这又给了我交互式shell中的错误,但在PyCharm中运行得很好......

1 个答案:

答案 0 :(得分:2)

关于IDE的好处是,他们在幕后为我们做了很多“文书”工作,这让生活变得方便,生产力也在飞速发展。然后是时候将它作为独立部署而且它不能很好地工作。

在这种情况下,PyCharm为您添加以下内容:

enter image description here

如果你想要相同的功能,你需要模仿PyCharm正在做的事情,那就是将你的内容/源根添加到你的$ PYTHONPATH(如果是在Windows上,则为%PYTHONPATH%),它将按预期工作。希望这会有所帮助。