python - 如何在 Google Cloud Functions 上运行 cython 的共享库?
问题描述
正如标题所说,我想知道 Google Cloud Functions(我目前有一些纯 python 代码)是否支持 cython'd 模块?
我想,更具体地说,我在问我将如何使用所述模块?这是一个私人项目,我通过 setup.py 使用 cython,cythonize(files)
它创建了一堆共享对象模块(example.cpython-38-darwin.so
, example1.cpython-38-darwin.so
, example2.cpython-38-darwin.so
)。
这些都适用于 Mac,因此不适用于 Firebase。
有什么方法可以让 Cloud Functions 运行 setup.py 并编译一些文件?或者,更好的是,有没有办法为适当的操作系统预编译这些文件并只部署共享库?
我知道我通过pip
Cloud Functions 安装的各种库在后台使用 Cython,但我真的不知道创建轮子或其他 pip 依赖项的过程......
解决方案
您需要cython
通过添加如下文件来指定私有项目的构建时依赖项pyproject.toml
:
[build-system]
requires = ["cython"]
pip
然后,在 Cloud Functions 运行时中使用现代版本安装包时,将在脚本运行cython
之前将其安装到构建环境中。setup.py
推荐阅读
- java - 从流中的最后一个跳过
- arrays - 如何在 Robo3T 中将结果从一个查询传递到另一个查询
- javascript - 当页面被添加书签时添加查询参数
- azure-log-analytics - 如何透视日志分析数据 (Kusto)
- apache-nifi - Apache Nifi 无法使用 zookeeper 字符串中的多个注释
- android - 如何使 RecyclerView 的适配器显示添加按钮作为最后一行?
- nao-robot - NAO Robot:如何重写qi框架的声音处理示例?
- reactjs - 在 Gitgraph 中为特定提交的节点设置颜色
- c++ - While循环比较大小而不是数量
- lua - ZeroBrane 与 Lua 5.4