关于python:ValueError:在非包中尝试相对导入而不是测试包

ValueError: Attempted relative import in non-package not for tests package

我知道这已经被问过很多次了,但不知何故我无法克服这个错误。这是我的目录结构-

1
2
3
4
5
6
7
8
9
project/
  pkg/
  __init__.py
  subpackage1/
        script1.py
        __init__.py
  subpackage2/
        script2.py
       __init__.py

脚本2.pY有:

1
2
class myclass:
    def myfunction:

Script 1.Py有

1
 from ..subpackage2 import script2

我也尝试过

1
from ..subpackage2 import myclass

这给了我:valueerror:尝试在非包中进行相对导入

任何帮助都将不胜感激。


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

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