Depuis la fin de 2019 environ, je travaille sur le développement de Python sur Cloud Shell de GCP et sur son déploiement sur Cloud Function. Après avoir développé pendant un certain temps et l'avoir laissé pendant quelques mois, un nouveau projet de développement a récemment eu lieu, alors quand j'ai pensé à le déployer et à le tester, j'ai commencé à lancer diverses erreurs lors du déploiement. J'ai essayé de gérer cela en regardant l'erreur, mais cela n'a pas fonctionné, et quand j'ai finalement réinitialisé l'environnement, cela a fonctionné, donc je vais le résumer.
La mise à jour et le changement de versions de Python et de pip étaient la plus grande impasse.
Après avoir exporté les packages installés avec pip freeze> requirements.txt
, téléchargeons tous les fichiers sur Cloud Sell Editor.
Le fichier sera déposé par tar. Il n'est pas nécessaire de le décompresser car il sera à nouveau généré en tant que tar plus tard.
** Désactivez ou réinitialisez Cloud Shell ** https://cloud.google.com/shell/docs/resetting-cloud-shell?hl=ja
Selon
sudo rm -rf $HOME
Il semble que vous puissiez redémarrer Shell après la réinitialisation.
Ce Qiita a été utile, merci à la personne qui l'a écrit.
** Comment mettre à jour la version python de Cloud Shell pour GCP ** https://qiita.com/greenteabiscuit/items/cbecdf4f84f0b73ff96e
Je cours sur python 3.7.9.
Si vous pipez tel quel, il sera affiché comme python v2, alors soyez prudent. Si rien n'est fait, une erreur a été générée lors du déploiement de Cloud Function, il semble donc préférable d'utiliser pip3 ici également. Basculer vers la référence de commande sur le site suivant 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
Je peux y aller.
Ensuite, utilisez pip install -U pip
pour mettre à jour vers la dernière version.
J'ai également dû mettre à jour gcloud. Officiellement, voici la procédure:
gcloud components update https://cloud.google.com/sdk/gcloud/reference/components/update
gcloud components update
Est la commande.
Cependant, sur Shell, il ne peut pas être mis à jour avec ceci,
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
Il vous sera demandé d'exécuter une très longue commande. Quand je l'ai exécuté, il a été mis à jour correctement.
Téléchargeons le tar qui a été téléchargé en 1. Vous pouvez faire D & D ou cliquer avec le bouton droit n'importe où dans la liste des fichiers → Télécharger des fichiers. Après le téléchargement, décompressez avec la commande tar. Je me suis référé à ce Qiita pour savoir comment le faire:
** Comment compresser et décompresser les fichiers [Linux] ** https://qiita.com/supersaiakujin/items/c6b54e9add21d375161f
tar -xvf xxxx.tar
Commande ci-dessus
Réinstallons maintenant le package pip. Je me suis référé au site suivant.
** Installation de package en masse à l'aide de requirements.txt avec Python, pip ** https://note.nkmk.me/python-pip-install-requirements/
pip install -r requirements.txt
Parfois, j'obtiens une erreur comme "Ce paquet ne peut pas être installé sans un autre paquet", mais dans ce cas, si vous spécifiez le nom du paquet et l'installez, ce sera tout à fait bon. J'utilise juste l'api bigquery, mais j'ai dû installer les packages associés ci-dessous:
pip install google-cloud-bigquery
Après cela, écrasons les bogues ~~ indéfiniment en faisant gcloud functions deploy
~~.
Peut-être n'avez-vous pas à vous soucier de changer la version avec la barre bleue en bas de l'écran de l'éditeur.
Recommended Posts