问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
from distutils.version import LooseVersion
ModuleNotFoundError: No module named 'distutils.version'; 'distutils' is not a package
from distutils.version import LooseVersion
ModuleNotFoundError: No module named 'distutils.version'; 'distutils' is not a package
解决方案一:
又是一个导包问题,在distutils,目录下新建一个__init__.py文件,也就是将它转换成一个包试试
解决方案二:
项目中不要写你这个项目根目录名开始导,从他的下级目录开始
比如一个项目的根目录是 project ,他下面有两个文件 main.py 和 ls.py , Is 有个 College 类,那么, main.py里导入就是 from ls import Colege ,不要写成 from project.ls import Colege
解决方案三:
检查一下distutils,目录是否在项目的path下,如果项目的path下没有这个目录,请把它添加进去,然后导入的时候不要从这个目录开始了,从他的子目录,也就是题目中的from version import …
至于如何添加,就要看你在哪个文件中写这个代码了?就是目录的相对关系,搞清楚就行,这里给你举一个,我之前回答的已被采纳的案例,你可以看看
# 将pk11上上级目录demo1添加到path,添加之前可以输出sys.path看他在里面吗,么有就添加!
import sys,os
sys.path.append(os.path.abspath(os.path.join(os.getcwd(), "../..")
# print(sys.path)
链接在这里:http://t.csdn.cn/zApsx
说白了就是将你这个distutils目录添加到path,至于上面这段参考代码,你要写到哪里就决定了你append()的路径,就看你当前代码所在的文件和distutils目录,是什么关系?比如父子关系,爷孙关系,然后把对应的路径写上去就行,比如是父子关系的话,先获取当前文件的绝对路径,然后往上回退一个父目录,这样是不是append之后将distutils添加到了path,这块内容属于os模块知识。
以上三种解决方法,基本都是我做项目总结出来的,前两种解法搞不出来的,第三种解决方案基本都完美解决,请一个个试试!
有帮助的话采纳一下哦!