如何停止 Python 2.6 的 DeprecationWarning?

如何停止 Python 2.6 的 DeprecationWarning?

我必须在 cron 中每天运行此命令来刷新认证。

# /root/certbot-auto renew --quiet
/root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6
  DeprecationWarning

它总是给我发送错误。我该如何升级我的 Python 以避免此错误?我已经运行过了,yum update但一切都是最新的。

Installed Packages
Name        : python
Arch        : x86_64
Version     : 2.6.6

参考:Certbot:https://certbot.eff.org/#centos6-apache

CentOS 版本 6.8(最终版)

答案1

CentOS 6.x(CentOS 6 的所有版本)附带 Python 2.6,正如您所发现的,它已经过时并且不再受支持。

幸运的是,除了 2.6 之外,你还可以安装 Python 2.7:

yum -y install centos-release-SCL
yum -y install python27

然后您需要将 Let's Encrypt 使用的 Python 版本替换为新的 Python 2.7,如下所示:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
sed -i "s|--python python2|--python python2.7|" letsencrypt-auto
./letsencrypt-auto --verbose

我自己没有发现这一点,所以所有的功劳都归功于伊娃2000让我们加密社区。

您可能需要替换letsencrypt-autocerbot-auto因为原始答案来自 2015 年。

资料来源:

编辑:其他来源提到需要安装centos-release-SCL才能安装 Python 2.7

答案2

我通过scl在 crontab 中安装和使用它来修复它

@daily scl enable python27 "/root/certbot-auto renew --quiet"


[root@server ~]# python --version
Python 2.6.6
[root@server ~]# python2 --version
Python 2.6.6
[root@server ~]# scl enable python27 "python --version"
Python 2.7.13

相关内容