I tried to import File from file.py in file2.py, but I got the error ImportError: attempted relative import with no known parent package
这是我的文件系统:
-- projects
-- project1
-- folder1
-- foo
-- file.py
-- fileInterface.py
-- bar
-- file2.py
-- file2Interface.py
我的密码是:
-- foo/file.py
from fileInterface import FileInterface
class File(FileInterface):
def __init__(self):
...
def func(self):
...
-- bar/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添加到文件夹1、foo、bar
- Adding setup.py to project1 (with pymodules and packages)
- 使用
python3 -m file2.py
运行文件 - 使用
python3 folder1/bar/file2.py
运行文件
但是,他们没有工作
先谢了!
1条答案
按热度按时间eqqqjvef1#
在此选项中,我们将向模块搜索区域添加一个文件夹,该文件夹允许您导入文件。
当更改项目的结构不明智时(例如,从test文件夹调用测试),这是非常有用的,但通常情况下,组装项目是正确的,这样您就不必使用此类技巧。