我有一个名为
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
>>>
我已经读过这篇文章,它看起来与我的很接近,但它没有用。
有人可以告诉我我的错误在哪里吗?
确保脚本与模块在同一目录中运行(假设它没有在系统范围内安装),并且当您打开控制台时,您的 shell 位于同一目录中。另外,如果这不起作用,我将需要更多信息来提供更好的答案。