我正在尝试在Ubuntu 18.04上使用conda,gcloud和python设置localhost环境
我在这里遵循了以下步骤: https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu
我正在运行gcloud命令。
下一步安装Appengine Python库
gcloud components install app-engine-python
但是我收到一条消息,我应该运行该命令
sudo apt-get install google-cloud-sdk-app-engine-python
我从conda环境运行了所有程序,但仍然收到一条消息,提示找不到以下库。
from google.appengine.api import users
任何线索
答案 0 :(得分:2)
更新google cloud SDK本身和/或安装/更新SDK组件需要在安装目录中具有写权限,因此这些操作需要在与初始SDK安装相同的用户ID下执行(不一定是root / sudo)。 / p>
使用gcloud component
命令执行的更新仅具有上述要求。另外,使用系统的软件包管理器进行更新需要sudo,因为只有超级用户才能使用软件包管理器进行系统更改。
您的SDK已安装为具有sudo权限(在您参考的食谱中为sudo apt-get update && sudo apt-get install google-cloud-sdk
),因此在安装/更新SDK组件时也必须使用sudo。
您有2个选择:
安装google-cloud-sdk-app-engine-python
软件包。恕我直言,这样做成功的可能性更高,尤其是在SDK中有特定于Ubuntu的自定义设置时。从某种意义上说,程序包管理器提供的信息将与SDK中实际安装的匹配,从而使ubuntu程序包安装“保持健全”。但是,这有一个缺点:您将依赖ubuntu软件包升级来升级SDK和/或其组件,如果您需要快速升级, 可能不方便。
您可以通过gcloud
命令执行SDK组件的安装/升级。但是这些对于ubuntu软件包管理是完全未知的。如果特定于Ubuntu的自定义项可能会遇到麻烦,因为SDK本身不知道它们。
有第3个选项,可能有点乏味,这是我选择的(我正在运行opensuse)。您可以下载并安装SDK的通用Linux版本,该版本是独立的,因为它与软件包管理器没有任何关系(因此,您实际上不需要sudo,可以作为常规用户安装SDK)。您可以找到各种SDK版本here(常规tar.gz
存档)。
我更喜欢这种第三种方法,因为安装包含在目录中,因此我可以同时安装多个版本的SDK,并且只需操作符号链接就可以轻松地在它们之间切换。在这种情况下,安装/更新组件将适用于“当前”安装的所有SDK。我什至可以在整个操作系统重新安装后保持安装正常运行(SDK与操作系统位于单独的分区中)。