我有一个
python
项目。我已经激活了 virtualenv
并安装了 requirements.txt
这是我的文件/目录结构
.
├── app
│ ├── app.py
│ ├── modules
│ │ ├── __pycache__
│ │ ├── foo.py
│ │ ├── settings.py
│ └── requirements.txt
我正在
foo.py
中进行以下导入
import settings
VSCode 不会抱怨(而在其他错误的导入尝试中它确实会抱怨)
尝试运行程序时
▶ python app/app.py
Traceback (most recent call last):
File "/path/to/project/app/app.py", line 1, in <module>
from modules import foo
File "/path/to/project/app/modules/foo.py", line 14, in <module>
import settings
ModuleNotFoundError: No module named 'settings'
(.venv)
我错过了什么?
Python 模块并不是相对开箱即用地导入的。
首先,您需要在
__init__.py
目录中创建modules
文件。
然后,在 foo.py
中,您可以使用以下命令导入“设置”:
from . import settings
# ...