2016-06-30 23 views
7

Ich habe ein wenig verwirrt über gcloud mit python3Gibt es eine Möglichkeit, gcloud mit python3 zu verwenden?

Nachdem ich gcloud in python3 env installiert und ich versuchte zu Beispiel Quickstart for Python in the App Engine Flexible Environment.

Es hieß 'Sie brauchen Google Cloud SDK', also habe ich SDK installiert. Der gesamte Prozess nach SDK (einschließlich SDK), benötigt Python2 env.

Hier ist eine Frage, Ist es unmöglich, gcloud mit Python3 (offiziell) noch zu laufen? (SDK und python2 mit gcloud Bibliothek ist am besten Weg?)

Antwort

0

Die Systemanforderungen ausdrücklich gesagt, Python 2.7.x https://cloud.google.com/sdk/downloads

warum wollen Sie trotzdem gcloud mit python3 laufen?

+0

Vielen Dank für die Beantwortung, dachte ich Wenn ich GCP verwenden möchte, sollte ich [gcloud library] (https://pypi.python.org/pypi/gcloud) und SDK installieren. Am Ende der Seite [gcloud library] (https://pypi.python.org/pypi/gcloud) befindet sich ein Python3. Also, ich denke, es gibt einen anderen Grund, warum Python 3 da ist, was ich nicht weiß. Aber, wenn ich SDK installiere, gibt es keinen Grund, '' 'pip install --upgrade gcloud''' richtig zu installieren? :) – piper

+0

Die gcloud-Bibliothek scheint ein Konnektor zu sein, den du nicht wirklich benutzen musst, wenn du nicht willst. Es hängt auch davon ab, welchen Teil von GCP Sie verwenden, wenn Sie beispielsweise appengine verwenden, können Sie gcloud SDK überspringen und appengine SDK verwenden. Gcloud SDK selbst hat mehr Funktionen, da es auch für GCE, GKE usw. verwendet wird. – marcadian

+1

Meine Gründe wären, dass es mein letztes Tool ist, das Legacy-Python benötigt :) Alles andere läuft bereits auf Python 3 – Kedare

3

gcloud-python und gcloud-cli as in Cloud SDK sind etwas voneinander unabhängige Produkte. Es ist wahr, dass Sie python 2.7.x benötigen, um gcloud-cli auszuführen, aber das hindert Sie nicht daran, python3 mit der gcloud-python-Bibliothek zu verwenden.

Wenn Sie zum Beispiel mehrere Versionen von Python 2.7x und 3.5 installieren (Sie können sogar python3 als Standard definieren), solange Sie die CLOUDSDK_PYTHON Umgebungsvariable auf den Python 2.7.x Interpreter setzen, sollten Sie gcloud-cli ausführen können während Sie Python3 für Ihr Projekt verwenden.

Unter Windows beispielsweise packt Cloud SDK seinen eigenen Python, der nicht mit einer anderen Version in Konflikt steht, die Sie möglicherweise auf Ihrem System haben. Es ist reine Laufzeitabhängigkeit für gcloud-cli.

+0

Vielen Dank für deine Antwort, ich bekomme Das Konzept 'gcloud' ist nur ein Konnektor, den ich in meinem Python-Skript verwenden kann, um GCP env zu steuern. – piper

5

Ich habe dieses Problem behoben, indem ich den Pfad zu Python 2 angegeben habe (den ich auf meinem System python2 genannt habe).

$ export CLOUDSDK_PYTHON=$(which python2) 
$ ./install.sh 

Ich schlage vor, um den Export zu Ihrer .bashrc oder .zshrc Datei hinzufügen.

+0

Nach der Installation, wenn Sie 'gcloud' ausführen, ruft sie' 'python2' unter der Haube auf. Wenn Sie also oben gearbeitet haben, müssen Sie diese Umgebungsvariable nicht in Ihrer '.bashrc' setzen. Auf der anderen Seite, wenn Python2 nicht auf einem Pfad ist, sollten Sie die Variable env explizit auf ihren vollständigen Pfad setzen. – cherba

Verwandte Themen