Gegen Ende 2019 habe ich daran gearbeitet, Python auf der Cloud-Shell von GCP zu entwickeln und für die Cloud-Funktion bereitzustellen. Nachdem ich eine Weile entwickelt und einige Monate verlassen hatte, ist kürzlich ein neues Entwicklungsprojekt aufgetreten. Als ich überlegte, es bereitzustellen und zu testen, begann ich, verschiedene Fehler bei der Bereitstellung zu beseitigen. Ich habe versucht, damit umzugehen, während ich mir den Fehler angesehen habe, aber es hat nicht funktioniert, und als ich die Umgebung endgültig zurückgesetzt habe, hat es funktioniert, also werde ich es zusammenfassen.
Das Aktualisieren und Wechseln von Versionen von Python und Pip war die größte Pattsituation.
Nachdem Sie die installierten Pakete mit "pip freeze> require.txt" exportiert haben, laden Sie alle Dateien im Cloud Sell Editor herunter. Die Datei wird von tar gelöscht. Es ist nicht erforderlich, es zu dekomprimieren, da es später wieder als Teer angehoben wird.
** Cloud Shell deaktivieren oder zurücksetzen ** https://cloud.google.com/shell/docs/resetting-cloud-shell?hl=ja
Gemäß
sudo rm -rf $HOME
Es scheint, dass Sie Shell nach dem Zurücksetzen neu starten können.
Diese Qiita war hilfreich, danke an die Person, die sie geschrieben hat.
** So aktualisieren Sie die Python-Version von Cloud Shell für GCP ** https://qiita.com/greenteabiscuit/items/cbecdf4f84f0b73ff96e
Ich laufe auf Python 3.7.9.
Wenn Sie so pipen, wie es ist, wird es als Python v2 angezeigt. Seien Sie also vorsichtig. Wenn sie unbeaufsichtigt bleiben, wurde beim Bereitstellen der Cloud-Funktion ein Fehler ausgegeben. Daher scheint es besser, auch hier pip3 zu verwenden. Wechseln Sie zur Befehlsreferenz auf der folgenden Site https://www.it-swarm-ja.tech/ja/pip/pip3%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92pip%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/831723093/
alias pip=pip3
Ich kann gehen.
Verwenden Sie danach pip install -U pip
, um auf die neueste Version zu aktualisieren.
Ich musste auch gcloud aktualisieren. Offiziell ist dies das Verfahren:
gcloud components update https://cloud.google.com/sdk/gcloud/reference/components/update
gcloud components update
Ist der Befehl.
Auf Shell kann es jedoch nicht mit diesem aktualisiert werden:
sudo apt-get update && sudo apt-get --only-upgrade install google-cloud-sdk-app-engine-python-extras google-cloud-sdk-kpt google-cloud-sdk-minikube google-cloud-sdk-app-engine-java google-cloud-sdk-datalab google-cloud-sdk-kind google-cloud-sdk-app-engine-grpc google-cloud-sdk-firestore-emulator google-cloud-sdk-bigtable-emulator google-cloud-sdk-skaffold kubectl google-cloud-sdk-cbt google-cloud-sdk-pubsub-emulator google-cloud-sdk-anthos-auth google-cloud-sdk google-cloud-sdk-datastore-emulator google-cloud-sdk-app-engine-python google-cloud-sdk-spanner-emulator google-cloud-sdk-cloud-build-local google-cloud-sdk-app-engine-go
Sie werden aufgefordert, einen sehr langen Befehl auszuführen. Als ich es ausführte, wurde es ordnungsgemäß aktualisiert.
Laden wir den Teer hoch, der in 1 heruntergeladen wurde. Sie können D & D ausführen oder mit der rechten Maustaste auf eine beliebige Stelle in der Dateiliste klicken → Dateien hochladen. Entpacken Sie nach dem Hochladen mit dem Befehl tar. Ich bezog mich auf diese Qiita, um zu erfahren, wie es geht:
** Komprimieren und Dekomprimieren von [Linux] -Dateien ** https://qiita.com/supersaiakujin/items/c6b54e9add21d375161f
tar -xvf xxxx.tar
Befehl oben
Lassen Sie uns nun das Pip-Paket neu installieren. Ich habe auf die folgende Seite verwiesen.
** Massenpaketinstallation mit require.txt mit Python, pip ** https://note.nkmk.me/python-pip-install-requirements/
pip install -r requirements.txt
Gelegentlich erhalte ich die Fehlermeldung "Dieses Paket kann nicht ohne ein anderes Paket installiert werden". In diesem Fall ist es jedoch recht gut, wenn Sie den Paketnamen angeben und installieren. Ich verwende nur die BigQuery-API, musste aber die folgenden Pakete installieren:
pip install google-cloud-bigquery
Danach können wir die Fehler ~~ unendlich beseitigen, indem wir gcloud functions deploy
~~ ausführen.
Möglicherweise müssen Sie sich keine Gedanken über das Ändern der Version mit der blauen Leiste am unteren Rand des Editor-Bildschirms machen.
Recommended Posts