Arbeitsnotiz zum Migrieren und Aktualisieren von Skripten der Python 2-Serie in der Cloud auf 3-Serien

image.png

Was ist das

Annahme

--Verwenden von pyenv für die Python-Versionskontrolle

Überblick

  1. Entscheiden Sie, welches Python migriert werden soll
  2. Überprüfen Sie lokal
  3. Erhöhen Sie die Version in der Produktion (stg)

Verfahren

Voruntersuchung

Überprüfen Sie die aktuelle Betriebsumgebung

--Die zu aktualisierende Version von Python ist je nach verwendetem Betriebssystem begrenzt. Informieren Sie sich daher im Voraus.

[ec2-user@app]$ pyenv install --list
Available versions:
#Unterlassung
  3.6.0
  3.6-dev
  3.6.1
  3.6.2
  3.6.3
  3.6.4
  3.7.0b2
  3.7-dev
  3.8-dev
#Unterlassung

Entscheiden Sie, zu welcher Python-Version migriert werden soll

--Wählen Sie die Python-Version aus den Versionen aus, die früher mit pyenv install --list aktualisiert werden können.

image.png

Überprüfung des lokalen Betriebs

Identifizieren von Logik, die in Python 3-Serien nicht verwendet werden kann

image.png

--Portieren von Python 2 nach Python 3: https://docs.python.org/ja/3/howto/pyporting.html#porting-python-2-code-to-python-3

Versuchen Sie die automatische Konvertierung in die Python3-Notation

image.png

--2to3 Automatische Codekonvertierung von Python 2 in 3: https://docs.python.org/ja/3/library/2to3.html#module-lib2to3

Python-Versionswechsel & Skriptausführung

Notieren Sie sich die Sicherungsmethode bei Moos

Umsetzung des Übergangs

―― Danach werden wir endlich die Python-Version des Produktionsskripts ändern. --Wenn es eine stg-Umgebung gibt, implementieren Sie diese zuerst in der stg-Umgebung

Python-Versionen wechseln

--Schalten Sie die Python-Version mit pyenv

# 3.6.Installieren Sie 4
$ pyenv install 3.6.4
$ pyenv versions  
  system  
* 2.7 (set by /home/ec2-user/.pyenv/version)
  3.6.4 #Sollte hinzugefügt worden sein
$ pyenv local 3.6.4
$ pyenv rehash
$ pyenv versions  
  system  
  2.7 (set by /home/ec2-user/.pyenv/version)
* 3.6.4 #Sollte sich geändert haben
$ python --version
Python 3.6.4 #Sollte sich geändert haben

Bibliothek neu installieren

--Installieren Sie die Bibliothek in der Python3-Umgebung

$ pip install -r requirements.txt
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->-r requirements.txt (line 5))
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/e1/e5/df302e8017440f111c11cc41a6b432838672f5a70aa29227bf58149dc72f/urllib3-1.25.9-py2.py3-none-any.whl (126kB)
    100% |████████████████████████████████| 133kB 9.1MB/s
Collecting certifi>=2017.4.17 (from requests->-r requirements.txt (line 5))
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/57/2b/26e37a4b034800c960a00c4e1b3d9ca5d7014e983e6e729e33ea2f36426c/certifi-2020.4.5.1-py2.py3-none-any.whl (157kB)
    100% |████████████████████████████████| 163kB 7.3MB/s
#Folgendes wird weggelassen

Überprüfen Sie die Funktionsweise des Skripts


[ec2-user@app]$ python main.py

Referenzdokument

image.png image.png

Recommended Posts

Arbeitsnotiz zum Migrieren und Aktualisieren von Skripten der Python 2-Serie in der Cloud auf 3-Serien
So aktualisieren Sie die Python-Version von Cloud Shell in GCP
Aktualisieren Sie die Python, die Sie auf Ihrem Mac hatten, auf 3.7-> 3.8
Aktualisieren Sie Mac Python von 2 auf 3
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
Der Weg zur Installation von Python und Flask auf einem Offline-PC
Migrieren Sie Django-Anwendungen, die unter Python 2.7 ausgeführt werden, auf Python 3.5
So verpacken und verteilen Sie Python-Skripte
Ein Memo mit Python2.7 und Python3 in CentOS
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
So schreiben Sie den richtigen Shebang in Perl-, Python- und Ruby-Skripten
Ich habe es geschafft, die Situation zu lösen, in der Python auf dem Mac nicht funktioniert
Der Schlüssel zum Bereitstellen von Flask-Apps mit Python Buildpack in Cloud Foundry (Diego)
Excel X Python Die schnellste Arbeitstechnik
[IBM Cloud] Ich habe versucht, über Cloud Funtions (Python) auf die Tabelle Db2 on Cloud zuzugreifen.
Jinja2 2.9.6 funktioniert nicht mit der Lambda Python 3-Serie
Einführung in Python mit Atom (unterwegs)
GAE - Drehen Sie mit Python das Bild basierend auf den Rotationsinformationen von EXIF und laden Sie es in den Cloud-Speicher hoch.
Zum Zeitpunkt des Python-Updates mit Ubuntu
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Führen Sie die Kolben-App auf Cloud 9 und Apache Httpd aus
Überlegen Sie, wie Sie Python auf Ihrem iPad programmieren können
Das einfachste Python-Memo in Japan (Klassen und Objekte)
Schritte zum Installieren des neuesten Python auf Ihrem Mac
Wie man Python auf Android genießt !! Programmieren für unterwegs !!
Installieren Sie django auf Python + Anaconda und starten Sie den Server
Die erste künstliche Intelligenz. Tensorflow unter CentOS7.0. Separat entwickelt für die Python3.5-Serie und die Python2.7-Serie mit virtualenv.
Das kürzeste Memo zum Erstellen einer Python-Umgebung, deren Arbeit weniger als 5 Minuten dauert.
Ich möchte den Unterschied zwischen der for-Anweisung in der Python + numpy-Matrix und der Julia for-Anweisung auffangen
Oh! python -m SimpleHTTPServer funktioniert nicht mit Safari und FireFox! ??
[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
Einfache Verwendung der Nifty Cloud API mit Botocore und Python
Memo, um den Wert auf der HTML-Javascript-Seite mit Jupiter zu erhalten
[Hyperledger Iroha] Hinweise zur Verwendung des Python SDK
Starten Sie den Cloud Datastore Emulator mit Docker-Compose und arbeiten Sie mit der Python-App
So stellen Sie Pybot, das einfachste Python-Lehrbuch, auf Heroku bereit
Installieren Sie pyenv auf MacBookAir und wechseln Sie Python zur Verwendung
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Arbeiten Sie automatisch an dem Python-Projekt, das bei der Anmeldung bei zsh angegeben wurde
Ermöglichen Sie die schnelle Ausführung von Python-Skripten in Cloud Run mithilfe des Responders
Bis zu dem Punkt, an dem Pythons Sellerie und RabbitMQ (Docker) funktionieren
Ich möchte die Natur von Python und Pip kennenlernen
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ausführen externer Shell-Skripte und -Befehle in Python
Ein Memo zum Umschalten zwischen Python2-Serie und 3-Serie in der Anaconda-Umgebung von Mac (Win wird ebenfalls hinzugefügt).
Python 2-Serie und 3-Serie (Anaconda Edition)
Python und Ruby Slice Memo
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
Wiederholen Sie mit While. Skript zum Twittern oder Suchen vom Terminal aus
Bestehen und Studieren der Python 3 Engineer-Zertifizierungsgrundprüfung
Python: Aktualisieren Sie pyenv ohne nachzudenken und lösen Sie das Phänomen "Wo ist Python?"
Was tun, wenn Python unter Git für Windows nicht funktioniert?
Erstellen Sie mit Python und Redis eine Rangliste für Spiele in der Alibaba-Cloud
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
[Einführung in Python] Ich habe die Namenskonventionen von C # und Python verglichen.
[Python] So erhalten Sie den ersten und den letzten Tag des Monats