安装cryptography
软件包时出现以下错误:
Invalid environment marker: platform_python_implementation != 'PyPy'
似乎升级setuptools会解决这个问题。有没有办法可以编辑Build Config YAML文件,以便在构建任何包之前运行pip install --upgrade setuptools
?
答案 0 :(得分:5)
执行命令
oc set env bc/yourappname UPGRADE_PIP_TO_LATEST=true
请参阅:
执行此操作时,应更新pip
,setuptools
和wheel
个包。
唯一的问题是,在这一分钟,所做的更改setuptools
和wheel
也已更新,但尚未在基于RHEL的Python S2I图像中。因此,如果您使用的是OpenShift Container Platform(由OpenShift Online使用),它将无法按要求运行。
解决方法的第一个选项是立即使用基于CentOS的图像:
oc new-app centos/python-27-centos7~https://url-to-your-repo
第二个选项是在源代码仓库中添加一个名为.s2i/bin/assemble
的可执行shell脚本,其中包含:
#!/bin/bash
set -eo pipefail
pip install --upgrade pip setuptools wheel
/usr/libexec/s2i/assemble
将执行此操作而不是正常的assemble
脚本,允许您安装更新。然后,您运行原始的assemble
脚本。