繁体   English   中英

为什么python绝对导入不起作用?

[英]Why python absolute import does not work?

我试图在我的脚本中使用绝对导入。 有 2 种变体。 之前我在 main.py 中使用过:

from helper import time_measurement
from logger import logger

这个例子工作得很好。

然后我尝试使用绝对导入,例如:

from porous_calc.helper import time_measurement
from porous_calc.logger import logger

这个错误结果是:

*PS C:\Users\Anvar> & C:/Users/Anvar/AppData/Local/Programs/Python/Python37/python.exe c:/Users/Anvar/Desktop/SW2/gitProject/4dtomo/porous_calc/main.py
Traceback (most recent call last):
  File "c:/Users/Anvar/Desktop/SW2/gitProject/4dtomo/porous_calc/main.py", line 2, in <module>
    import porous_calc.anisotropic_volume_gen as avg
ModuleNotFoundError: No module named 'porous_calc'
PS C:\Users\Anvar>* 

所有文件(main.py、helper.py、logger.py)都位于同一个文件夹poority_calc。 为什么第二种导入方式不起作用? 程序已从 VS Code 命令行运行。

这是因为python3中没有“绝对导入”这样的东西。 一切都与当前位置有关。 做这样的事情的典型方法是:

from .helper import time_measurement
from .logger import logger

暂无
暂无

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

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