build jumpserver docker 镜像时出错,无法安装MarkupSafe

Collecting MarkupSafe==1.0
  Downloading MarkupSafe-1.0.tar.gz (14 kB)
    ERROR: Command errored out with exit status 1:
     command: /opt/py3/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-10jh3ic4/MarkupSafe/setup.py'"'"'; __file__='"'"'/tmp/pip-install-10jh3ic4/MarkupSafe/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-10jh3ic4/MarkupSafe/pip-egg-info
         cwd: /tmp/pip-install-10jh3ic4/MarkupSafe/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-10jh3ic4/MarkupSafe/setup.py", line 6, in <module>
        from setuptools import setup, Extension, Feature
    ImportError: cannot import name 'Feature'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

对比之前成功的记录发现是setuptool版本的问题,python3源中的setuptools已经升级到46以上。

登录之前正常的docker容器

[root@localhost Dockerfile]# docker exec -it huangshumao-jms_all_1.5.6 /bin/bash
[root@500cf2fd4b0c opt]# source /opt/py3/bin/activate

查看到

(py3) [root@500cf2fd4b0c opt]# pip -V
pip 20.0.2 from /opt/py3/lib64/python3.6/site-packages/pip (python 3.6)
(py3) [root@500cf2fd4b0c opt]# pip list|grep setuptools
setuptools                45.2.0

把脚本从原来的

pip install --upgrade pip setuptools

 修改为

pip install --upgrade pip setuptools==45.2.0

OK,后面的任务能正常执行了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐