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

标签 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 中工作得很好...

最佳答案

IDE 的好处在于,它们在幕后为我们做了很多“文书”工作,这使生活变得方便,生产力飞速提高。然后是时候将其部署为独立的,但它并不能很好地工作。

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

enter image description here

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

关于python - 在 PyCharm 与交互式 shell 中运行模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897169/

相关文章:

ubuntu - PyCharm 中的 Python 解释器无法识别 gcloud 项目集更改

python - 尝试创建一个正则表达式来忽略属于一组字符的字符以及一组字符后面的单词

python - Pycharm:设置终端大小

python - 使用 RNN 的神经机器翻译背景下的投影层是什么?

python - 计算 DataFrame 2x2 行列组的平均值

python - GoogleAppEngine 和最新的 Python2.7 : location of "google" directory

python - 在 Pycharm 中切换运行模式和 Debug模式

python - 如何在 PyCharm + python2.7 中指定通用返回类型

python - Google Cloud OAuth 同意屏幕未反射(reflect)(内部)应用程序范围的更改

Python编码实践: Return None vs Return same datatype with empty value?