Jak zatrzymać DeprecationWarning dla Python 2.6?

1

Muszę uruchamiać to polecenie codziennie w cronie, aby odświeżyć certyfikaty.

# /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

Błąd zawsze wysyła mi wiadomość. Jak zaktualizować mój python, aby uniknąć tego błędu? Już biegłem, yum updateale wszystko jest aktualne.

Installed Packages
Name        : python
Arch        : x86_64
Version     : 2.6.6

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

Wersja CentOS 6.8 (wersja ostateczna)

Chloe
źródło

Odpowiedzi:

1

CentOS 6.x (wszystkie wersje CentOS 6) jest wyposażony w Python 2.6, który, jak się okazało, jest przestarzały i nie jest już obsługiwany.

Na szczęście możesz zainstalować Python 2.7 oprócz 2.6:

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

Następnie musisz zastąpić wersję Pythona używaną przez Let's Encrypt na nową wersję 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

Nie dowiedziałem się tego sam, więc wszelkie podziękowania należą się eva2000 społeczności Let's Encrypt.

Być może trzeba wymienić letsencrypt-autoz cerbot-autojak oryginał odpowiedź jest od 2015 roku.

Źródła:

Edycja: Inne źródła wspominają o potrzebie instalacji centos-release-SCLw celu zainstalowania Pythona 2.7

GiantTree
źródło
Dało to błąd:Error getting repository data for ius, repository not found
Chloe
Znalazłem nieco inne rozwiązanie. Zobacz edycję
GiantTree
OK. Widzę, że „kolekcje oprogramowania” to sposób na zainstalowanie wielu wersji jednocześnie, jak w rvmprzypadku Ruby. Dlaczego nie mogę po prostu zaktualizować Pythona do wersji 2.7 i pozbyć się wersji 2.6?
Chloe,
@Chloe Nie wiem, nie używam CentOS, ale z jakiegoś powodu system operacyjny ma skrypty wymagające Python 2.6.
GiantTree,
To nie działało: # sed -i "s|--python python2|--python python2.7|" certbot-autoi # ./certbot-auto renew --quietprzynosi/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
Chloe
0

Naprawiłem to, instalując scli używając tego w 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
Chloe
źródło