我在交互式 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 中工作得很好...
最佳答案
IDE 的好处在于,它们在幕后为我们做了很多“文书”工作,这使生活变得方便,生产力飞速提高。然后是时候将其部署为独立的,但它并不能很好地工作。
在这种情况下,PyCharm 会为您添加以下内容:
如果您想要相同的功能,您将需要模仿 PyCharm 正在做的事情,即将您的内容/源根添加到 $PYTHONPATH(或 %PYTHONPATH% 如果在 Windows 上),它将按预期工作。希望这会有所帮助。
关于python - 在 PyCharm 与交互式 shell 中运行模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897169/