【发布时间】:2021-12-16 01:25:49
【问题描述】:
我对 Python 中的模块有一个查询。
使用 VSCode 我设置了以下简单代码:
Demo/
Test.py
z1/
\_\_init\_\_.py
Foo.py
z2/
\_\_init\_\_.py
Screen.py
screen.py 包含:
class Screen:
SCREEN_SIZE = [800, 600]
和 z2/__init__.py
from z1.z2.Screen import *
以下 Foo.py 和 Test.py 都有:
from z1.z2.Screen import *
print(Screen.SCREEN_SIZE)
为什么当我运行 Test.py 时,我得到了:
[800, 600]
但是当我运行 Foo.py 时,我得到:
File "***\Python\z1\Foo.py", line 1, in <module>
from z1.z2 import *
ModuleNotFoundError: No module named 'z1'
我可以将 __init__.py 中的 z1.z2 更改为 z2,但 Test.py 不起作用。 有什么办法让它对这两个文件都有效吗?
【问题讨论】:
-
我认为问题在于我如何设置环境,并且项目目录没有添加到 PYTHONPATH,这就是绝对导入不起作用的原因。