我看过这些网站:
python相对导入示例代码不起作用
第十亿次相对进口
https://peps.python.org/pep-0328/
Python包:相对导入
Python中的相对导入
并且加载了更多我没有展示的内容,但是它们(答案/代码)由于某种原因无法相对导入其他Python“模块”。而且,我总是有这样一个永远重复出现的错误:< code>ImportError:在没有已知父包的情况下尝试相对导入。
我的目录结构如下所示:
program/
|_ main.py
|_ lib/
|_ __init__.py
|_ module1.py
|_ module2.py
|_ module3.py
在 main.py:
from .lib.module1 import do_this
print('Imported')
在模块1.py中:
def do_this():
print('I did it')
我在用Linux做这个,但是就是不行!!!
编辑:
我不想做蟒蛇3 -m
我也有类似的问题,我已经创建了一个实验性的新导入库ultraimport,它允许基于文件系统的导入来解决您的问题。
在main.py中,您可以写:
import ultraimport
do_this = ultraimport('__dir__/lib/module1.py', 'do_this')
print('Imported')
它将始终有效,无论您如何运行代码。