我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

报错没有发现模块disutils的问题,是个历史遗留问题。所以,对于目前占主流地位的python3来说,解决方案就是安装setuptools。然而,由于python3的各个版本之间的众所周知的不兼容问题,也可能会有其它的报错信息出现,一旦局面不可控,降级python的版本才可能是解决这个问题的最好办法。

苏南大叔:如何解决python报错 No module named distutils? - no-module-named-distutils
如何解决python报错 No module named distutils?(图1-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:win10anaconda@2023.09python@3.8

报错信息

报错信息可能略有不同,但是大体上都会提及disutils字样。其实都是使用最新的python去运行适配以前版本的python代码的结果。

ModuleNotFoundError: No module named distutils

disutils已被废除

下面的文字来自于网络:

随着3.12的发布,distutils终于被移除。根据PEP 632distutils3.10中被标记为废弃,在 3.12中将不再是标准库的一部分。从distutils中导入将导致一个错误,因为不会有向后兼容的情况出现。

Distutils曾经是Python中软件包管理的首选模块,但它的局限性导致了setuptools的兴起,根据Python打包用户指南,它现在已经成为推荐的解决方案。Setuptools仍然使用distutils的一些功能,但它集成了后者的一个副本,不再依赖标准库。Pipsetuptools替换distutils已经有一段时间了,所以在3.12中删除传统的distutils模块是合理的。

安装setuptools

在目前的python3系列中,这个disutils模块已经被setuptools所取代。所以可以执行:

pip install setuptools

如果还存在类似的症状,也可以试着再upgrade一下。

pip install --upgrade setuptools

如果还是不行,那么就降级python的版本吧。无数次的失败经验表明:使用最新的python版本,总不是一个明智的选择。

结语

文章越写越水了,大家凑乎着看吧。更多苏南大叔的python经验文章,请参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python