美文网首页
python2.6升级2.7安装pip

python2.6升级2.7安装pip

作者: 狗子家的铲屎官 | 来源:发表于2019-01-09 10:26 被阅读0次

    背景

    centos6.5 中python2.6升级到2.7后,发现pip不可使用

    [root@centos6 bin]# pip install virtualenv
    -bash: pip: command not found
    

    安装pip

    1. 下载安装包
      传送门 下载你自己想要的版本
    [root@centos6 develop]# wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz
    
    1. 解压,安装
    [root@centos6 develop]# tar -zxf pip-18.1.tar.gz 
    [root@centos6 develop]# ls
    pip-18.1  pip-18.1.tar.gz  Python-2.7.15  Python-2.7.15.tgz
    [root@centos6 develop]# cd pip-18.1
    
    
    [root@centos6 pip-18.1]# python setup.py install 
    Traceback (most recent call last):
      File "setup.py", line 6, in <module>
        from setuptools import find_packages, setup
    ImportError: No module named setuptools
    [root@centos6 pip-18.1]# 
    

    可能会出现上面这个异常是缺少setuptools模块。(请转到下一步安装setuptools模块
    安装好setuptools模块,继续pip安装

    [root@centos6 pip-18.1]# python setup.py install
    ...
    Installed /usr/local/lib/python2.7/site-packages/pip-18.1-py2.7.egg
    Processing dependencies for pip==18.1
    Finished processing dependencies for pip==18.1
    
    • 查找下pip
    [root@centos6 pip-18.1]# whereis pip
    pip: /usr/local/bin/pip2.7 /usr/local/bin/pip
    
    • 尝试使用下pip
      这时候又出现以下问题
    [root@centos6 develop]# pip install virtualenv
    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    Collecting virtualenv
      Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/virtualenv/
      Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/virtualenv/
      Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/virtualenv/
      Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/virtualenv/
      Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/virtualenv/
      Could not fetch URL https://pypi.org/simple/virtualenv/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping
      Could not find a version that satisfies the requirement virtualenv (from versions: )
    No matching distribution found for virtualenv
    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping
    [root@centos6 develop]# 
    

    原因缺失 ssl模块,继续安装ssl,在重新编译、安装python

    [root@centos6 develop]# rpm -aq|grep openssl
    openssl-1.0.1e-15.el6.x86_64
    #发现缺少openssl-devel模块 yum安装下
    [root@centos6 develop]# yum install openssl-devel
    #这时候查看下
    [root@centos6 develop]# rpm -aq|grep openssl
    openssl-1.0.1e-57.el6.x86_64
    openssl-devel-1.0.1e-57.el6.x86_64
    #即安装ssl模块ok
    #安装后到刚编译python目录 重新编译
    [root@centos6 Python-2.7.15]# ./configure
    [root@centos6 Python-2.7.15]# make && make install
    
    

    这时候pip安装好了。

    [root@centos6 Python-2.7.15]# pip install virtualenv
    Collecting virtualenv
      Downloading https://files.pythonhosted.org/packages/6a/d1/e0d142ce7b8a5c76adbfad01d853bca84c7c0240e35577498e20bc2ade7d/virtualenv-16.2.0-py2.py3-none-any.whl (1.9MB)
        100% |████████████████████████████████| 1.9MB 237kB/s 
    Requirement already satisfied: setuptools>=18.0.0 in /usr/local/lib/python2.7/site-packages/setuptools-40.6.3-py2.7.egg (from virtualenv) (40.6.3)
    Installing collected packages: virtualenv
    Successfully installed virtualenv-16.2.0
    

    安装setuptools模块

    • 下载对应安装包
      传送门 找你想要安装的对应版本
    [root@centos6 setuptools-40.6.3]# wget https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip
    [root@centos6 develop]# cd setuptools-40.6.3
    [root@centos6 setuptools-40.6.3]# 
    
    • 构建安装
    [root@centos6 setuptools-40.6.3]# python setup.py build 
    [root@centos6 setuptools-40.6.3]#  python setup.py install 
    

    install 可能会出现下面问题(没有就忽略)

      File "/usr/local/lib/python2.7/distutils/cmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/develop/setuptools-40.6.3/setuptools/command/bdist_egg.py", line 234, in run
        dry_run=self.dry_run, mode=self.gen_header())
      File "/develop/setuptools-40.6.3/setuptools/command/bdist_egg.py", line 495, in make_zipfile
        z = zipfile.ZipFile(zip_filename, mode, compression=compression)
      File "/usr/local/lib/python2.7/zipfile.py", line 736, in __init__
        "Compression requires the (missing) zlib module"
    RuntimeError: Compression requires the (missing) zlib module
    

    上述问题缺少 zlib模块,需要安装zlib模块

    [root@centos6 Python-2.7.15]# yum install zlib zlib-devel
    #安装后到刚编译python目录 重新编译
    [root@centos6 Python-2.7.15]# ./configure
    [root@centos6 Python-2.7.15]# make && make install
    

    重新回到setuptools目录,重新安装刚才的步骤

    [root@centos6 Python-2.7.15]# cd ../setuptools-40.6.3
    [root@centos6 setuptools-40.6.3]# python setup.py build
    running build
    running build_py
    [root@centos6 setuptools-40.6.3]#  python setup.py install
    

    这时候setuptools已经安装好了。

    相关文章

      网友评论

          本文标题:python2.6升级2.7安装pip

          本文链接:https://www.haomeiwen.com/subject/wlhwrqtx.html