【问题标题】:Is it possible to use Anaconda packages as dependencies for Google Cloud Functions?是否可以使用 Anaconda 包作为 Google Cloud Functions 的依赖项?
【发布时间】:2019-12-17 06:41:04
【问题描述】:

我正在使用 Python 运行时编写谷歌云函数,我需要包含一些 pip 不可用的依赖项。如文档here 中所述,应该可以打包本地依赖项,但是,在我的情况下,我想使用本地 Anaconda 环境的所有包并使用函数上传它们。有办法吗?

或者,有没有办法在 requirements.txt 文件中指定 Anaconda 包而不是使用 pip

【问题讨论】:

    标签: python google-cloud-platform anaconda google-cloud-functions


    【解决方案1】:

    不,不可能,Cloud Functions 仅支持通过 pip 从 PyPI 安装。

    您可能有兴趣改用Cloud Run,这将允许您定义自己的运行时,从而通过conda 安装Anaconda 包。

    【讨论】:

      【解决方案2】:

      您可以通过 requirements.txt 文件实现这一点。作为each Cloud Function has its own file,你可以为每一个指定不同的依赖。

      检查this answer 到类似的问题:

      这是一个 requirements.txt 中的一堆依赖项的示例

      # Function dependencies, for example:
      # package>=version
      Flask==1.0.2
      dill>=0.2.8
      numpy>=1.15.0
      requests>=2.20.0
      six==1.12.0
      spacy>=2.1.0
      https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
      torchtext>=0.3.1
      

      【讨论】:

      • 我不确定我是否理解您的回答,因为 Anaconda 包不一定有 .whl 文件。例如,如何将这个包 (anaconda.org/CadQuery/pythonocc-core/files) 包含在 requirements.txt 文件中?我的猜测是,如果您只是复制 .tar.bz2 的下载链接,它将无法正常工作。
      • 正确的工具是 pip:“在部署应用程序之前,您可以使用带有 '-t DIRECTORY' 标志的 'pip install' 命令将私有依赖项复制到本地目录中”。在您共享的文档中是要遵循的步骤。关于你的猜测,你是对的。如果添加该行,它将不起作用。
      猜你喜欢
      • 2019-04-07
      • 2019-02-13
      • 2018-04-21
      • 1970-01-01
      • 2021-07-17
      • 2021-10-25
      • 2014-08-07
      • 1970-01-01
      相关资源
      最近更新 更多