ValueError:尝试在非程序包中相对导入,而不用于测试程序包

发布于 2021-01-29 18:14:40

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

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

script2.py具有:

class myclass:
    def myfunction:

script1.py有

 from ..subpackage2 import script2

我也试过

from ..subpackage2 import myclass

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

任何帮助将非常感激。

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这个答案解释了发生了什么:http://codingdict.com/questions/250

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看