【问题标题】: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
    

    见:

    当你这样做时,它应该更新 pipsetuptoolswheel 包。

    唯一的问题是,在基于 RHEL 的 Python S2I 映像中,还没有更新 setuptoolswheel 所做的更改。因此,如果您使用的是 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 脚本。

    【讨论】:

    • 选择第二个选项。像魅力一样工作。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-10-27
    • 2019-11-06
    • 2019-12-13
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2013-08-30
    • 2015-03-18
    相关资源
    最近更新 更多