首页 > 解决方案 > 为什么我可以在 PyCharm 中导入父目录下的包,但是在终端却报错?

问题描述

为什么我可以在 PyCharm 中导入父目录下的包,但是在终端却报错?

我将使用以下玩具代码来展示我的问题。例如,项目结构如下: 在此处输入图像描述

hello.py是:

def func():
    print("hello")

test.py

import mypackage.hello
mypackage.hello.func()

现在,如果我test.py在 PyCharm 中运行,它会完美运行并打印hello. 但是,如果我使用终端和cd目录test,并运行命令python test.py,它会报告以下错误:

Traceback (most recent call last):
  File "test/test.py", line 1, in <module>
    import mypackage.hello
ModuleNotFoundError: No module named 'mypackage'

PS:我在 PyCharm 和终端中使用相同的环境。

问题:

  1. 为什么它在 PyCharm IDE 和终端中显示不同的结果?

  2. 一般来说,在父目录中导入包以便我可以在终端和 IDE 中运行的正确样式是什么?

标签: pythonpycharmpython-modulepython-packaging

解决方案


推荐阅读