树莓派OS环境下无法安装Twine的解决方案咨询
树莓派OS安装Twine失败的解决方案
问题背景
运行树莓派OS,系统信息:
uname -a Linux gus 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
已构建Python wheel并尝试发布至testPyPI,但安装Twine时因cryptography模块安装失败受阻。该模块以SDIST形式打包,需基于Rust编译,尝试两种方法均无效:
- 设置环境变量
export CRYPTOGRAPHY_DONT_BUILD_RUST=1跳过编译,无效果; - 安装rustc 1.41.1版本,触发版本不兼容错误:
=============================DEBUG ASSISTANCE============================= error: Rust 1.41.1 does not match extension requirement >=1.48.0
已安装最新版pip 22.3.1,需解决Twine安装问题。
可行解决方案
1. 升级Rust至符合要求的版本
cryptography明确要求Rust版本≥1.48.0,当前版本过低,按以下步骤升级:
- 卸载旧版Rust:
sudo apt remove rustc cargo -y - 通过官方脚本安装最新稳定版Rust:
安装过程中按提示选择默认配置即可。curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - 加载Rust环境变量(或重启终端):
source $HOME/.cargo/env - 验证版本:
确认版本≥1.48.0后,执行Twine安装:rustc --versionpip install twine
2. 安装预编译的cryptography wheel
针对armv7架构的树莓派,可直接使用预编译wheel避免编译:
- 先安装系统依赖库:
sudo apt install libssl-dev libffi-dev python3-dev -y - 指定安装兼容的cryptography预编译版本(示例版本适配多数armv7环境,可根据需求调整):
pip install cryptography==38.0.4 --only-binary :all: - 完成后安装Twine:
pip install twine
3. 利用Python虚拟环境隔离依赖
若系统全局依赖存在冲突,虚拟环境可提供干净的安装环境:
- 安装虚拟环境工具:
sudo apt install python3-venv -y - 创建并激活虚拟环境:
python3 -m venv twine-env source twine-env/bin/activate - 在虚拟环境内直接安装Twine,pip会自动处理依赖:
pip install twine
内容的提问来源于stack exchange,提问作者user1255603
相关产品推荐
相关产品推荐

