ValueError:尝试非包中的相对导入而不是测试包

时间:2016-05-12 17:25:11

标签: python

我知道这已被多次询问,但不知怎的,我无法克服这个错误。这是我的目录结构 -

DIK_

script2.py有:

project/
  pkg/
  __init__.py
  subpackage1/
        script1.py
        __init__.py
  subpackage2/
        script2.py
       __init__.py

script1.py有

class myclass:
    def myfunction:

我也试过

 from ..subpackage2 import script2   

这给了我:ValueError:在非包中尝试相对导入

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:17)

这个答案解释了发生了什么:https://stackoverflow.com/a/73149/769971

您可能正在从subpackage1 /目录中运行script1.py。 将导入更改为from subpackage2 import script2,备份到pkg /目录,然后运行python -m subpackage1.script1