我正在Heroku中运行一个Django Python项目,为了支持Python加密软件包,我的dockerfile包含了首先为该软件包安装非Python依赖项的说明:
run apk add openssl-dev cargo
然后,我的构建日志显示部署构建了各种轮子。构建加密控制盘需要几分钟:
Building wheel for cryptography (PEP 517): started
Building wheel for cryptography (PEP 517): still running...
Building wheel for cryptography (PEP 517): still running...
Building wheel for cryptography (PEP 517): finished with status 'done'
Created wheel for cryptography: filename=cryptography-3.4.7-cp38-cp38-linux_x86_64.whl size=534047 sha256=8c3212278fa23bad7ecfbc54d036e8d35ba9308479d87e8ec39697aed26095dc
是否有任何类型的预编译控制盘或buildpack或类似工具可用于加快部署速度
根据您的
apk
命令,您可能正在运行Alpine Linux。Alpine将musl
用于其libc
实现,这在历史上阻止了cryptography
项目上载二进制轮子。然而,随着PEP 656的接受(以及auditwheel、pypa/manylinux容器和pypa/仓库允许上传的大量后续工作),我们现在可以上传musllinux
wheels了cryptography
在2021年9月19日上传了一个加密车轮3.4.8(x86_64 arch)要获得此控制盘,有两个先决条件:
pip
。任何早于21.2.4的版本都不支持musllinux
控制盘李>如果您满足这些要求,那么
pip install cryptography
将不再需要Alpine上的编译器(rust或gcc/clang)相关问题 更多 >
编程相关推荐