最近在跟着李沐学习深度学习,在github上找了份课程的python代码《dive_into_deep_learning》,想自己跟敲一遍,安装了d2l,其他代码可以正常运行,在ch2 03里‘import d2lutil.common as common’显示No module named 'd2lutil',github下载的代码可以运行但是我自己写的却会报错,运行的python环境也都是Python 3.9 (d2l) (2)。



最近在跟着李沐学习深度学习,在github上找了份课程的python代码《dive_into_deep_learning》,想自己跟敲一遍,安装了d2l,其他代码可以正常运行,在ch2 03里‘import d2lutil.common as common’显示No module named 'd2lutil',github下载的代码可以运行但是我自己写的却会报错,运行的python环境也都是Python 3.9 (d2l) (2)。



求士。 中午好🌞🌞🌞
本答案参考ChatGPT-3.5
这个问题出现的原因可能是路径问题或者导入包的问题。以下是解决该问题的一些可能方法:
确认安装的d2l包是否与代码中的导入命令一致,包括d2l和d2lutil包。可以使用pip show d2l确认已安装的d2l版本,确保是最新版本。如果安装的是旧版本,可以尝试卸载旧版本并重新安装。
查看d2lutil模块文件是否存在。如果是自己下载的代码,可以进入代码文件的目录,检查是否存在d2lutil.py文件。如果没有,请从源代码的github仓库中获取缺少的文件。
检查代码的相对路径是否正确。如果代码中使用import d2lutil.common as common这样的相对导入语句,确保d2lutil.py文件与当前代码文件在同一目录下。如果不在同一目录下,可以调整路径或者使用绝对路径来导入模块。
确认Python环境是否正确。确保你所运行的Python环境是正确的,即安装了d2l包的Python环境。可以使用which python命令查看当前使用的Python解释器路径,确保与安装d2l包的Python环境一致。
检查环境变量是否正确配置。如果你的代码中使用了自定义的环境变量,如os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE",请确保环境变量设置正确。
解决方案:
以下是修改后的代码示例(如果有代码,请提供修改后的代码):
import os
import sys
import numpy as np
import torch
from d2l import torch as d2l
from d2lutil import common
# 其他代码
注意,在导入d2lutil.common时,直接从d2lutil包中导入common模块即可,无需添加前缀"d2lutil."。