繁体   English   中英

无法从父目录导入文件

[英]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.pyconfig.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM