Python2.7安装Robot Framework的SSHLibrary遇gcc报错求助
解决Python 2.7安装cffi时
gcc报错的问题 这个报错其实很常见,本质是cffi需要编译C扩展模块,但你的系统缺少必要的编译依赖,再加上Python2.7已经不再被新版本cffi支持,所以得从两个核心方向解决:
1. 先安装系统层面的编译依赖
cffi编译时依赖系统的开发工具和底层库,根据你的操作系统执行对应的命令:
Debian/Ubuntu 系列
sudo apt-get update && sudo apt-get install build-essential libssl-dev libffi-dev python-dev
RHEL/CentOS 系列
sudo yum groupinstall "Development Tools" && sudo yum install openssl-devel libffi-devel python-devel
macOS(使用Homebrew)
先确保Homebrew已安装,再执行:
brew install openssl libffi python@2.7 # 设置环境变量让pip能定位到这些库 export LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/libffi/lib" export CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/libffi/include"
2. 安装兼容Python2.7的cffi版本
新版本的cffi已经彻底放弃了Python2.7的支持,所以必须指定安装最后一个适配Python2.7的版本:
pip install cffi==1.14.6
3. 重新安装SSHLibrary及依赖
完成上面两步后,直接执行安装命令即可:
pip install SSHLibrary
如果你习惯手动依次安装依赖,也可以这样(注意指定cffi版本):
pip install paramiko pyasn1 pynacl cffi==1.14.6 SSHLibrary
额外提醒
Python2.7早在2020年就停止了官方维护,不仅存在安全隐患,后续会有越来越多的库不再支持它。如果条件允许,建议尽快迁移到Python3.8及以上版本,能减少很多依赖兼容问题。
内容的提问来源于stack exchange,提问作者Ghassen Ksila
相关产品推荐
相关产品推荐

