首次从AWS设置转移到GCE,请善待我的天真问题。
在步骤./google-cloud-sdk/install.sh
期间,我遇到以下错误:
Welcome to the Google Cloud SDK!
Traceback (most recent call last):
File "/Users/t/Desktop/./google-cloud-sdk/bin/bootstrapping/install.py", line 8, in <module>
import bootstrapping
File "/Users/t/Desktop/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 19, in <module>
from googlecloudsdk.core.credentials import store as c_store
File "/Users/t/Desktop/google-cloud-sdk/lib/googlecloudsdk/core/credentials/store.py", line 34, in <module>
from googlecloudsdk.core.credentials import creds
File "/Users/t/Desktop/google-cloud-sdk/lib/googlecloudsdk/core/credentials/creds.py", line 40, in <module>
import sqlite3
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
仔细检查后,我注意到我的/usr/local/Cellar/python
即有两个python2.7版本。 2.7.10_2
和2.7.11
。
奇怪的是,当我去python命令行时,这个问题:
Python 2.7.10 (default, Oct 6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> from _sqlite3 import *
>>> print('hello, this seems to work')
hello, this seems to work
虽然很遗憾install.sh
正在从系统中获取py2.7.11
版本而不是python版本,但我不确定我们是否可以设置一些环境变量,(例如{{1}在我们开始安装之前)。
答案 0 :(得分:1)
是的,您应该将$ CLOUDSDK_PYTHON环境变量设置为指向正确的Python安装。请参阅类似的问题:google-cloud-sdk installation not finding right Python 2.7 version in CentOS /usr/local/bin
答案 1 :(得分:0)
我正在使用pyenv
并安装不同的python版本,并且我必须配置CLOUDSDK_PYTHON
指向/usr/local/bin
下的系统python才能使其正常工作。
指向pyenv内部的某个地方,例如/home/user/.pyenv/shims/python
或/home/user/.pyenv/versions/2.7.15/bin/python2
不会解决这个问题。
答案 2 :(得分:0)
今天遇到此问题,以下是在CentOS 7上为我工作的一组命令:
一些要点:
altinstall
,以免破坏主机上的yum
,因为它依赖于python2作为默认解释器sudo yum install gcc openssl-devel bzip2-devel libffi-devel sqlite-devel
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
sudo tar xzf Python-3.8.6.tgz
cd Python-3.8.6
sudo ./configure --enable-optimizations --enable-loadable-sqlite-extensions
sudo make altinstall
sudo rm /usr/src/Python-3.8.6.tgz
sudo ln -s /usr/local/bin/python3.8 /usr/bin/python3
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python3
答案 3 :(得分:0)
这是在运行安装链接cloudsql时找不到可执行的python的问题,为解决此问题,我采用了此方法
which python
它将为python / usr / bin / python
为执行建立符号链接
ls -s usr/bin/python usr/local/bin/python
答案 4 :(得分:0)
您需要像使用 oh-my-zsh 一样设置环境 -
export CLOUDSDK_PYTHON=/usr/bin/python3
然后 -
source .zshrc
答案 5 :(得分:0)
如果您使用 Oh-My-ZSH 插件,您需要手动编辑您的 .zshrc
文件。
添加以下行:
export CLOUDSDK_PYTHON="/usr/bin/python3"
在:
source $ZSH/oh-my-zsh.sh
保存您的 .zshrc
文件并重新启动 Shell 以查看所反映的更改。
See below example