![](/img/trans.png)
[英]Import python files from other directory without sys.path.append or changing PATH
[英]Import python files from git submodule without sys.path.append
我有一个git项目('submodule_folder')被克隆为我的git项目('my_project')中的子模块,具有以下文件结构:
my_project
submodule_folder
submodule_folder2
__init__.py
submodule_file.py
file_to_import.py
my_file1.py
my_file2.py
我想从“ my_file1.py”导入“ file_to_import.py”,但“ file_to_import.py”导入“ submodule_file.py”。
从“ my_file1.py”执行以下导入时,出现ModuleNotFoundError: No module named 'submodule_folder2'
。
from submodule_folder import file_to_import
使用Python3,是否有任何方法可以在不将sys.path.append('submodule_folder/')
写入每个文件的情况下进行导入? 我不希望修改“ submodule_folder”的内容。
如果file_to_import.py
有
from submodule_folder2 import submodule_file
它在Python 2中有效,因为在Py2中它是隐式相对导入。 Python 3禁用了此导入模式,它仅允许绝对导入或显式相对导入。 或
from submodule_folder.submodule_folder2 import submodule_file
要么
from .submodule_folder2 import submodule_file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.