从 python 中的不同包导入文件时出现相对导入错误
relative import error while importing file from diffrent package in python
我创建了以下目录结构。
package1/
__init__.py
file1.py
file2.py
package2/
__init__.py
utils.py
我必须从 package1 的 file2.py 处的 package2 导入 utils.py。
我尝试使用
from .package2 import utils
但出现错误
ModuleNotFoundError: No module named '__main__.package2'; '__main__' is not a package
在file2
中你可以添加package1
和package2
的根目录到你的路径:
import os, sys
this_dir, _ = os.path.split(__file__)
root_dir = os.path.dirname(this_dir)
sys.path.append(root_dir)
然后导入:
from package2 import utils
我创建了以下目录结构。
package1/
__init__.py
file1.py
file2.py
package2/
__init__.py
utils.py
我必须从 package1 的 file2.py 处的 package2 导入 utils.py。 我尝试使用
from .package2 import utils
但出现错误
ModuleNotFoundError: No module named '__main__.package2'; '__main__' is not a package
在file2
中你可以添加package1
和package2
的根目录到你的路径:
import os, sys
this_dir, _ = os.path.split(__file__)
root_dir = os.path.dirname(this_dir)
sys.path.append(root_dir)
然后导入:
from package2 import utils