我对gcloud与python3有点困惑
我在python3 env中安装了gcloud之后我尝试了示例Quickstart for Python in the App Engine Flexible Environment。
它说'你需要Google Cloud SDK',所以我安装了SDK。 SDK(包括SDK)之后的所有过程,都需要python2 env。
这是一个问题,是不可能用python3(官方)运行gcloud呢? (SDK和python2与gcloud库是最好的方法吗?)
答案 0 :(得分:14)
我通过指定Python 2的路径(我在系统上命名为$ export CLOUDSDK_PYTHON=$(which python2)
$ ./install.sh
)解决了这个问题。
.bashrc
我建议将导出添加到您的.zshrc
或<select name="anythingYouWant">
文件。
答案 1 :(得分:7)
gcloud-python和gcloud-cli as in Cloud SDK是一些不相关的产品。确实你需要python 2.7.x来运行gcloud-cli,但这并不妨碍你使用python3和gcloud-python库。
如果你安装python 2.7x和3.5的多个版本(你甚至可以使python3默认)只要你设置CLOUDSDK_PYTHON环境变量指向python 2.7.x解释器你应该能够运行gcloud-cli而将python3用于您的项目。
在Windows上,例如,Cloud SDK打包自己的python,它不会与您系统上的任何其他版本冲突。它是gcloud-cli的纯运行时依赖。
答案 2 :(得分:1)
从2019年12月17日开始,版本 274.0.0 正式支持Python 3。Release notes:
Cloud SDK现在已支持Python 3的GA。请运行
gcloud topic startup
用于以下用途:
- 有关配置Cloud SDK使用的Python解释器的信息。
- Cloud SDK中仍需要Python 2.7解释器的工具列表。
- Python 3支持的已知问题列表。
(该命令显示dev_appserver
和endpointscfg
是例外。)
根据搜索顺序,gcloud如果找到它,仍将使用Python 2。您可以通过将CLOUDSDK_PYTHON=python3
(或类似名称)设置为环境变量来明确显示。
答案 3 :(得分:0)
系统要求明确表示python 2.7.x confusing github tickets
为什么你想用python3运行gcloud?
答案 4 :(得分:0)
在smtplib
内,它说支持python3,但没有优先级,因为我认为python 2更普及了。这意味着如果您正在运行macOS,则通过install.sh
添加一行环境变量将允许gcloud使用python3所在的位置。
如果它不起作用,则将其指向任何python 2,并且仅将python 3用于自己的工作即可解决此问题。
echo "export CLOUDSDK_PYTHON=/your/path/to/python3" >> ~/.bash_profile