gpt4 book ai didi

python - 尝试在非包 python 中进行相对导入

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:35 25 4
gpt4 key购买 nike

我当前的目录结构

prem
.
├── __init__.py
├── test1.py
├── test2.py

测试1.py

print 'test1.py'

测试2.py

import  sys
sys.path.append('/opt/sw/p3/src/prem')
print sys.path
from . import test1

错误

    from . import test1
ValueError: Attempted relative import in non-package

当我显示路径时,我看到这个目录 -/opt/sw/p3/src/prem

最佳答案

如果您直接运行 test2.py,则 prem 已经是工作目录。

调用from .相当于调用from prem,但是如果prem已经是您的工作目录,它现在将尝试查找另一个当前包内的包 prem

尝试这个布局:

/my_program
/prem
├── __init__.py
├── test1.py
├── test2.py
main_test.py

main_test.py

import prem.test2

在这种情况下,您的工作目录现在包含 prem,my_program... 意味着 test2.py 中的导入,会起作用,因为它my_program

中找到 prem

关于python - 尝试在非包 python 中进行相对导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23278284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com