安装cryptography软件包时,出现以下错误:

Invalid environment marker: platform_python_implementation != 'PyPy'

似乎升级setuptools可以解决此问题。有什么方法可以编辑Build Config YAML文件,以便pip install --upgrade setuptools在构建任何软件包之前运行?

最佳答案

跑:

oc set env bc/yourappname UPGRADE_PIP_TO_LATEST=true

看到:
  • https://github.com/sclorg/s2i-python-container/tree/master/2.7

  • 执行此操作时,应更新pipsetuptoolswheel软件包。

    唯一的问题是,就在这一刻,在基于RHEL的Python S2I镜像中还没有进行setuptoolswheel的更新的更改。因此,如果您使用的是OpenShift容器平台(由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脚本。

    关于python - Openshift V3上的python 2.7:在构建之前更新setuptools?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46927162/

    10-16 22:30