【问题标题】:Python 2.7 on Openshift V3: update setuptools before build?Openshift V3 上的 Python 2.7:在构建之前更新 setuptools?
【发布时间】:2018-04-06 05:35:34
【问题描述】:
安装cryptography 包时出现以下错误:
Invalid environment marker: platform_python_implementation != 'PyPy'
升级 setuptools 似乎可以解决这个问题。有没有办法可以编辑 Build Config YAML 文件,以便 pip install --upgrade setuptools 在构建任何包之前运行?
【问题讨论】:
标签:
python
kubernetes
openshift
【解决方案1】:
运行:
oc set env bc/yourappname UPGRADE_PIP_TO_LATEST=true
见:
当你这样做时,它应该更新 pip、setuptools 和 wheel 包。
唯一的问题是,在基于 RHEL 的 Python S2I 映像中,还没有更新 setuptools 和 wheel 所做的更改。因此,如果您使用的是 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 脚本。