安装machine模块时构建pycrypto wheel失败,该如何解决?
解决machine模块安装时pycrypto构建失败的问题
方案1:让pycryptodome兼容pycrypto命名空间
- 先清理残留的相关包:
pip uninstall -y pycrypto pycryptodome pycryptodomex - 安装pycryptodome:
pip install pycryptodome - 替换命名空间(让machine模块能识别到Crypto):
- Linux/macOS:执行命令创建软链接
SITE_PACKAGES=$(python -c "import site; print(site.getsitepackages()[0])") ln -s "$SITE_PACKAGES/Cryptodome" "$SITE_PACKAGES/Crypto" - Windows:找到Python安装目录下的
Lib\site-packages文件夹,复制Cryptodome文件夹并重命名为Crypto
- Linux/macOS:执行命令创建软链接
- 重新安装machine模块:
python -m pip install machine
方案2:修改machine模块的依赖后本地安装
如果方案1无效,说明machine模块的依赖检查严格,直接修改它的依赖配置:
- 下载machine模块的源码包:
pip download machine --no-deps - 解压下载的压缩包,进入解压后的目录
- 打开
setup.py文件,找到install_requires列表,把其中的pycrypto替换成pycryptodome - 本地安装修改后的模块:
pip install .
方案3:检查模块维护状态
如果以上方法都不行,大概率这个machine模块已经停止维护,建议查找功能类似的替代模块,或者查看该模块的代码仓库是否有修复依赖的社区fork版本。
内容的提问来源于stack exchange,提问作者Robin combes
相关产品推荐
相关产品推荐

