使用pip-review更新虚拟环境包时遇distutils模块缺失错误
解决pip-review更新时pycurl安装失败的问题
问题根源
报错显示ModuleNotFoundError: No module named 'distutils.command.bdist_msi',是因为pycurl的安装脚本依赖Windows专属的bdist_msi模块,但你的conda环境中Python的distutils组件不完整,导致编译安装失败。
解决思路
安装conda官方的distutils包
在conda环境中执行:conda install python-distutils=3.9确保安装版本和你的Python3.9.7匹配,补全缺失的distutils组件。
跳过pycurl的更新(临时方案)
如果暂时不需要更新pycurl,可以直接排除它:pip-review --exclude pycurl --auto或者用交互式模式运行
pip-review --interactive,在提示更新pycurl时选择跳过。手动安装pycurl预编译版本
Windows下pycurl的编译容易出问题,直接用预编译的wheel包更新:pip install --upgrade pycurl --only-binary :all:完成后再运行
pip-review --auto即可正常更新其他包。强制使用标准库distutils
设置环境变量强制让setuptools使用Python标准库的distutils,再执行更新:SET SETUPTOOLS_USE_DISTUTILS=stdlib pip-review --auto重建conda环境(终极方案)
如果以上方法都无效,可能是当前conda环境存在损坏,创建新的Python3.9.7环境:conda create -n new_env python=3.9.7 conda activate new_env # 重新安装你的依赖包 pip install [你的依赖列表] pip-review --auto
内容的提问来源于stack exchange,提问作者LSeu
相关产品推荐
相关产品推荐

