为什么我在脚本中导入失败,但可以通过python控制台执行?

问题描述 投票:0回答:1

我有一个名为

my_app.py
的 Python 脚本,如下所示:

from my_app.source.module1 import func1
func1()

如果我通过以下命令执行脚本

my_app.py

> python my_app.py

它引发了异常

ModuleNotFoundError

Traceback (most recent call last):
File "my_app.py", line 1, in <module>
    from my_app.source.module1 import func1
  File "/home/<user>/my_app.py", line 1, in <module>
    from my_app.source.module1 import func1
ModuleNotFoundError: No module named 'my_app.source'; 'my_app' is not a package

我确信我的系统中安装了一个名为

my_app
的包,因为我可以通过 Python 控制台执行前面的
import
,不会出现错误:

> python
Python 3.8.5 (default, Jul 20 2020, 13:26:22) 
[GCC 10.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from my_app.source.module1 import func1
>>>

我已经读过这篇文章,它看起来与我的很接近,但它没有用。

有人可以告诉我我的错误在哪里吗?

python python-import
1个回答
0
投票

确保脚本与模块在同一目录中运行(假设它没有在系统范围内安装),并且当您打开控制台时,您的 shell 位于同一目录中。另外,如果这不起作用,我将需要更多信息来提供更好的答案。

© www.soinside.com 2019 - 2024. All rights reserved.