为了账号安全,请及时绑定邮箱和手机立即绑定

无法从子文件夹运行 Python3 脚本 // 相对导入错误

无法从子文件夹运行 Python3 脚本 // 相对导入错误

梵蒂冈之花 2021-06-13 14:13:04
我有一个像这样的简单项目结构:➜  (venv:evernote) evernote_bear_project git:(master) ✗ tree | grep -v pyc.├── README.md...(snip)...├── manage.py├── sample│   ├── EDAMTest.py    <==== here is an import that won't work│   └── enlogo.png└── util    ├── __init__.py    ├── files.py        <====== This is being imported    └── test_files.py现在我有一个相对导入sample/EDAMTest.py:from ..util.files import * 当我尝试python sample/EDAMTest.py在命令行中从项目根文件夹运行时,我收到一条错误消息:ValueError: attempted relative import beyond top-level package我知道这已经被问过很多次了,但我仍然不明白。由于我是从项目根目录运行脚本,因此在我的理解中Python应该能够“知道”当我尝试导入from ..util.files import *时,它应该上升一个directory,不是吗?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

sys.path.append() 是一个调整,如果您的目录结构是固定的并且您无能为力。

否则,您可以尝试重新排列文件夹。最简单的方法是将 util 移到 sample 下,另一个选项是将两个文件夹 psrt 都放在一个更大的包中。

import *没有被包围。


查看完整回答
反对 回复 2021-06-15
  • 3 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信