在 Google Build 中使用 python 包

Using python package in Google Build

在我的 requirements.txt 中,我正在尝试下载 python-ldap==3.2.0。但是,我需要these dependencies。我应该如何使用 Google Build 下载这些文件?我尝试了以下但出现错误:

Step #0 - "Dependency install": E: Unable to locate package libsasl2-dev
Step #0 - "Dependency install": E: Unable to locate package python-dev
Step #0 - "Dependency install": E: Unable to locate package libldap2-dev
Step #0 - "Dependency install": E: Unable to locate package libssl-dev
Step #0 - "Dependency install": Building dependency tree...
Step #0 - "Dependency install": Reading state information...
Finished Step #0 - "Dependency install"
2019/06/14 12:51:21 Step Step #0 - "Dependency install" finished
2019/06/14 12:51:21 status changed to "ERROR"
ERROR
ERROR: build step 0 "ubuntu" failed: exit status 100
2019/06/14 12:51:21 Error updating docker credentials: failed to update docker credentials: signal: killed
2019/06/14 12:51:21 Failed to delete homevol: exit status 1
2019/06/14 12:51:24 Build finished with ERROR status

cloudbuild.yaml

steps:
# Install Dependencies
- name: 'ubuntu'
  id: Dependency install
  args: ['apt-get', 'install',
         'libsasl2-dev', 'python-dev', 'libldap2-dev', 'libssl-dev']
# Install Python Dependencies
- name: 'python'
  id: Pip install
  args: ['pip3', 'install', '-r', 'requirements.txt', '--user']

然后我试了

- name: 'ubuntu'
  id: Dependency install
  args: ['apt-get', 'update', '&&', 'apt-get', 'install',
         'libsasl2-dev', 'python-dev', 'libldap2-dev', 'libssl-dev']

但那也失败了。

Google Cloud Functions 仅接收您的源代码和一个 requirements.txt 文件以指示它使用了哪些 python 依赖项。
GCF 管理器在内部自动安装那些依赖于 python 环境的依赖项,这些依赖项将 运行 你的功能,你将系统库安装到 GCF 环境,但你可以使用可用的(here is the list).您需要的库 libldap2 不可用。所以你可以在他们的问题跟踪器上打开一个问题来请求它。

现在,虽然它不会帮助您,但 GC Build 上的错误正在发生,因为只有工作区(起始工作目录和其中的所有内容)在步骤之间共享。每个步骤都会启动一个 docker 容器,其中包含 name 参数中指定的图像并安装工作区。
系统更改未共享的一个更明显的证明是,在一个步骤中使用 Ubuntu,在另一个步骤中使用 CentOS,在另一个步骤中使用 Alpine。他们每个人的系统库都非常不同,所以他们显然不共享。