Parrot OS下MiBand3项目pycrypto安装失败的解决请求
解决PyCrypto在Python 3.11下安装失败的问题
问题背景
执行MiBand3项目依赖安装时,PyCrypto 2.6.1安装失败,核心错误为:
src/_fastmath.c:33:10: fatal error: longintrepr.h: No such file or directory
原因是Python 3.10及以上版本移除了longintrepr.h头文件,而旧版PyCrypto未适配该变更。以下是无需使用pycryptodome的修复方案:
方案一:降级Python版本到3.9或更低
- 安装Python 3.9(可通过系统包管理器或pyenv实现)
- 创建并激活Python 3.9虚拟环境:
python3.9 -m venv .venv source .venv/bin/activate - 重新执行依赖安装:
pip install -r requirements.txt
方案二:手动修改PyCrypto源码后安装
- 单独下载PyCrypto 2.6.1源码:
pip download pycrypto==2.6.1 - 解压源码包并进入目录:
tar -xzf pycrypto-2.6.1.tar.gz cd pycrypto-2.6.1 - 编辑
src/_fastmath.c,将第33行的#include <longintrepr.h>替换为#include <Python.h> - 编译并安装修改后的PyCrypto:
python setup.py install - 返回MiBand3目录,安装剩余依赖:
pip install bluepy curses-menu crc16
方案三:使用兼容Python 3.10+的PyCrypto分支
- 安装维护的兼容版本:
pip install git+https://github.com/axiros/pycrypto.git@python3.10 - 继续安装项目其他依赖:
pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者abdul
相关产品推荐
相关产品推荐

