我有以下结构
.
├── module1
│ ├── __init__.py
│ └── start.py
├── module2
│ ├── __init__.py
│ └── settings.py
└── Pipfile
cat module1/start.py
from module2.settings import VAR
if __name__ == '__main__':
print(VAR)
猫 module2/settings.py
VAR = 'foo'
如果我尝试运行我的程序,我会得到
pipenv shell
python module1/start.py
Traceback (most recent call last):
File "module1/start.py", line 1, in <module>
from module2.settings import VAR
ModuleNotFoundError: No module named 'module2'
或
pipenv run python module1/start.py
Traceback (most recent call last):
File "module1/start.py", line 1, in <module>
from module2.settings import VAR
ModuleNotFoundError: No module named 'module2'
为什么 pipenv 没有正确设置 PYTHONPATH?
请您参考如下方法:
我意识到我可以使用 .env 文件来设置 PYTHONPATH 并让 pipenv 使用它。
echo "PYTHONPATH=${PWD}" >> .env
