Windows11下PyCharm安装pycurl报错:No module named 'distutils.command.bdist_msi'
pycurl安装错误的成因与解决办法
错误成因
- pycurl的安装脚本仍依赖已被Python标记为弃用的
distutils.command.bdist_msi模块,而你用Virtualenv创建的虚拟环境中未包含该组件 - Virtualenv创建虚拟环境时,默认不会完整复制系统Python中的distutils相关文件,导致安装pycurl时找不到所需模块
解决办法
方法1:用setuptools替代distutils
激活虚拟环境后执行以下命令:
pip install setuptools
setuptools内置了distutils的兼容实现,可满足pycurl安装的依赖需求。
方法2:安装预编译的pycurl包
直接使用预编译的wheel包安装,跳过源码编译(源码编译才会触发distutils相关错误),激活虚拟环境后执行:
pip install pycurl --only-binary :all:
方法3:创建虚拟环境时继承系统distutils(可选)
如果需要重新创建虚拟环境,可添加参数让它使用系统Python的distutils:
virtualenv --system-site-packages your_env_name
注意:该方法会让虚拟环境继承系统Python的所有已安装包,可能破坏环境隔离性,谨慎使用
内容的提问来源于stack exchange,提问作者Life after Guest
相关产品推荐
相关产品推荐

