記一次python3 pip安裝MarkupSafe==1.0失敗解決過程

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,後面的任務能正常執行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章