pip安装setuptools_rust报错

时间:2023-12-11 11:14:02

  公司项目中有主备CDN存在,由于阿里云以及腾讯云的预热功能不支持自动(一般是云函数),所以就根据云厂商给的脚本稍作更改,手动传入数据来进行预热。

  由于之前部署在centos7.7系统python2.7.5上,脚本可以正常运行,由于某些原因,机器要进行下线,导致必须迁移脚本。为了节省成本,决定复用线上环境的机器,结果在pip安装模块时,模块安装一直报错,最后经过新旧两台服务器对比解决了pip安装模块报错的问题。

  为了防止因为项目环境版本比较老,再次出现这个问题,这里做一个记录。

1.机器信息

主机名

系统版本

Pyhton版本

Pip版本

cn-gc-bastion

Centos7.7

2.7.5

8.1.2

cn-yuu-login02

Centos7.8

2.7.5

20.3.4

2.报错现象

  在新部署机器上使用python执行脚本,会告知没有安装oos2模块。

pip安装setuptools_rust报错

  使用pip安装oss2会有如下报错

pip安装setuptools_rust报错

  这时,不管怎么安装setuptools_rust都会显示没有这个模块。

pip安装setuptools_rust报错

3.解决办法

  对比了2台机器的setuptools版本,发现新机器版本非常老,升级后就可以安装oss2模块了。

  cn-gc-bastion

pip安装setuptools_rust报错

  cn-yuu-login02

pip安装setuptools_rust报错

  接下来升级cn-yuu-login02的setuptools版本,结果发现版本报错

pip安装setuptools_rust报错

  需要将PIP版本也进行升级

pip安装setuptools_rust报错

  再次安装setuptools就可以了

pip安装setuptools_rust报错

  在安装oss2即可

pip安装setuptools_rust报错

4.脚本执行

  安装oss2只是其中一个模块,在执行脚本的时候还是会报错,因为该刷新CDN的脚本中需要使用腾讯云和阿里云的SDK模块。

  以下还要安装3个模块。

pip install qcloud_cos
pip install tencentcloud-sdk-python
pip install aliyun-python-sdk-cdn

  其中qcloud_cos要下载包安装,pip安装的包可能无法使用,并有如下报错。

pip安装setuptools_rust报错

  使用安装包安装解决问题(使用安装包的安装方式前,要卸载pip的qcloud_cos的安装)

wget https://files.pythonhosted.org/packages/ec/ee/0f314f3e4d97c6b08193422e2436f5fc0af75523d2a7f29e587b73a2b65b/qcloud_cos-3.3.6.tar.gz
python setup.py install