【问题标题】:Python google.appengine.api not found in Ubuntu 18.04在 Ubuntu 18.04 中找不到 Python google.appengine.api
【发布时间】:2019-11-20 15:54:49
【问题描述】:

我正在尝试使用 conda、gcloud 和 python 在 Ubuntu 18.04 上设置 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

任何线索

【问题讨论】:

  • apt-get 安装在标准 Python 中
  • 在页面Installing from versioned archives你可以得到它作为文件.tar.gz。解压后运行install.sh。在这个 bahs 脚本中,我发现它会检查系统变量 CLOUDSDK_PYTHON 以获取它应该用来安装它的 Python 路径。也许如果您在环境中设置 conda 的路径,那么它将安装在预期的环境中。即使您使用apt-get 安装它也可能会起作用

标签: python google-app-engine anaconda gcloud ubuntu-18.04


【解决方案1】:

更新 google cloud SDK 本身和/或安装/更新 SDK 组件需要跨安装目录的写入权限,因此这些操作需要在与初始 SDK 安装相同的用户 ID 下执行(不一定是 root/sudo)。

使用gcloud component 命令执行的更新只有上述要求。此外,使用系统的包管理器进行更新需要 sudo,因为只有超级用户才能使用包管理器进行系统更改。

您的 SDK 是使用 sudo 权限安装的(您引用的配方中的sudo apt-get update && sudo apt-get install google-cloud-sdk),因此您在安装/更新 SDK 组件时也必须使用 sudo。

你有两个选择:

  1. 安装google-cloud-sdk-app-engine-python 包。恕我直言,这有更高的成功机会,特别是如果 SDK 中有任何特定于 ubuntu 的定制。它还使您的 ubuntu 包安装“理智”,因为包管理器提供的信息将与 SDK 中实际安装的信息相匹配。但是有一个缺点:您将依赖 ubuntu 软件包升级来升级您的 SDK 和/或其组件,如果您需要快速进行此类升级,这可能不方便。

  2. 您可以通过gcloud 命令执行 SDK 组件安装/升级。但是这些对于 ubuntu 包管理来说是完全未知的。如果存在特定于 ubuntu 的自定义设置,您可能会遇到麻烦,因为 SDK 本身不知道这些自定义设置。

还有第三个选项,可能有点乏味,这是我选择的(我正在运行 opensuse)。您可以下载并安装 SDK 的通用 linux 版本,它是独立的,因为它与包管理器没有关系(因此您实际上不需要 sudo,可以作为普通用户安装 SDK)。您可以找到各种 SDK 版本 here(常规 tar.gz 存档)。

我更喜欢第三种方法,因为安装包含在一个目录中,因此我可以同时安装多个版本的 SDK,并且只需通过操作符号链接轻松地在它们之间切换。在这种情况下,安装/更新组件将适用于“当前”安装的任何 SDK。我什至能够在重新安装完整的操作系统后保持我的安装正常运行(SDK 位于与操作系统不同的分区上)。

【讨论】:

    猜你喜欢
    • 2019-01-12
    • 2020-09-10
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多