繁体   English   中英

如何解决 python 中的“在没有已知父包的情况下尝试相对导入”错误

[英]How to solve "attempted relative import with no known parent package" error in python

我试图从 file2.py 中的 file.py 导入文件,但出现错误ImportError: attempted relative import with no known parent package

这是我的文件系统:

-- projects
    -- project1
        -- folder1
            -- foo
                -- file.py
                -- fileInterface.py
            -- bar 
                -- file2.py
                -- file2Interface.py

我的代码:

-- foo/文件.py

from fileInterface import FileInterface
class File(FileInterface):
    def __init__(self):
        ...

    def func(self):
        ...

-- 栏/file2.py

from file2Interface import File2Interface
from ..foo.file import File
class File2(File2Interface):
    def __init__(self):
        ...

    def func2(self):
        f = new File()
        f.func()
        ...

我还尝试了其他 stackoverflow 帖子中的这些方法:

  • 将 __init__.py 添加到 folder1、foo、bar
  • 将 setup.py 添加到 project1(使用 pymodules 和包)
  • 使用python3 -m file2.py运行文件
  • 使用python3 folder1/bar/file2.py运行文件

但是,他们没有工作

提前致谢!

import sys
sys.path.append("../foo")
import file

在此选项中,我们将一个文件夹添加到模块搜索区域,它允许您导入文件。

这在更改项目结构不明智时很有用,例如,从测试文件夹调用测试,但通常组装项目是正确的,这样您就不必使用此类技巧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM