[英]Can't import files from parent directory
我似乎无法从父目录导入 python 文件。 我在 bash 中运行了以下命令:
echo 'token="AAA111"' > config.py
mkdir scenarios
echo $'from .. import config\nprint(config.token)' > scenarios/test.py
python3 scenarios/test.py
但这给了我错误:
Traceback (most recent call last):
File "scenarios/test.py", line 1, in <module>
from .. import config
ValueError: attempted relative import beyond top-level package
我做错了什么? 如何让scenarios/test.py
从config.py
获取内容?
相对导入(点)是指包内的位置,不一定是任何目录。 *)
如果要从父目录导入模块,则需要将其添加到模块搜索路径中,例如:
...
echo $'import config\nprint(config.token)' > scenarios/test.py
PYTHONPATH=. python3 scenarios/test.py
*) 如果您有以下树:
.
└── mypkg
├── __init__.py
├── config.py
└── scenarios
├── __init__.py
└── test.py
使用from .. import config
in mypkg/scenarios/test.py
如您的示例,那么这将起作用(从mypkg/
上方的父级mypkg/
):
python3 -c 'import mypkg.scenarios.test'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.