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

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐