【发布时间】:2021-08-17 05:04:28
【问题描述】:
我有一个项目结构,如下所示:
└── auto/
│ ├──── __init__.py
│ └──── __pycache__/
│ ├──── deploy
│ ├──── destroy
│ └──── helpers/
│ │ ├──── __init__.py
│ │ ├──── cli.py
│ │ └──── zip.py
│ └──── synth
└── src/
│ ├──── __init__.py
│ ├──── main.py
│ └──── models/
│ │ ├──── __init__.py
│ │ ├──── filter.py
│ │ └──── json_extract_config.py
│ └──── utils/
│ │ ├──── __init__.py
│ │ └──── json_extractor.py
我正在尝试在 ./auto/synth 位置调用脚本 synth。
合成文件是一个脚本,顶部有一个 shebang #!/usr/bin/env python3
它从 ./auto/helpers/zip.py 文件中导入一个函数。
当我运行时,根文件夹中的./auto/synth 会引发错误:
from auto.helpers.zip import zip_folder
ModuleNotFoundError: No module named 'auto'
虽然当我运行PYTHONPATH="$PWD" ./auto/synth 时,脚本执行成功。
谁能帮我理解这种行为以及如何避免它,以便我的脚本可以正常运行而无需更改 PYTHONOPATH?
提前致谢。
【问题讨论】:
标签: python pythonpath