Upgrading python2.6.6 to python2.7 makes pip command unavailable

Keywords: Linux pip Python curl CentOS

The server environment is CentOS 6.8, and Python is the default version 2.6.6

1. Upgrade python

Upgrade python2.6.6 to python2.7.14, which will not be described here
Please refer to the following documents for upgrading:
https://blog.csdn.net/see_you_see_me/article/details/78550977

2.Python makes pip command unavailable

Upgrading Python 2.7 resulted in the failure of using pip and other commands to install the module. The error is as follows:

#pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

The solution can refer to the following documents, which are not described in detail here:
http://linuxsogood.org/816.html

A solution was found on the website of an outsider:

#curl -O http://python-distribute.org/distribute_setup.py
#/usr/local/pyton2.7/bin/python distribute_setup.py

Tip: the content of the script file "distribute" setup.py "can be found

#/usr/local/python2.7/bin/easy_install pip
#/usr/local/python2.7/bin/pip -V
[root@localhost ~]#  /usr/local/python2.7/bin/python distribute_setup.py
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz
Traceback (most recent call last):
  File "distribute_setup.py", line 537, in <module>
    sys.exit(main())
  File "distribute_setup.py", line 533, in main
    tarball = download_setuptools(download_base=options.download_base)
  File "distribute_setup.py", line 206, in download_setuptools
    src = urlopen(url)
  File "/usr/local/python2.7/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/python2.7/lib/python2.7/urllib2.py", line 435, in open
    response = meth(req, response)
  File "/usr/local/python2.7/lib/python2.7/urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/python2.7/lib/python2.7/urllib2.py", line 473, in error
    return self._call_chain(*args)
  File "/usr/local/python2.7/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/local/python2.7/lib/python2.7/urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: SSL is required

[root@localhost ~]# grep DEFAULT_URL distribute_setup.py
DEFAULT_URL = "https://pypi.python.org/packages/source/d/distribute/"
Modify the address here to: https

[root@localhost ~]#  /usr/local/python2.7/bin/python distribute_setup.py
. . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . 
Installing easy_install script to /usr/local/python2.7/bin
Installing easy_install-2.7 script to /usr/local/python2.7/bin

Installed /usr/local/python2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg
Processing dependencies for distribute==0.6.49
Finished processing dependencies for distribute==0.6.49
After install bootstrap.
Creating /usr/local/python2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info
Creating /usr/local/python2.7/lib/python2.7/site-packages/setuptools.pth
[root@localhost ~]# echo $?
0
[root@localhost ~]# find / -name 'easy_install'
/usr/local/python2.7/bin/easy_install
/usr/bin/easy_install

Use the new version of python to run the script, which will automatically install an easy install, and then use the new easy install to install pip!

3. Could not find suitable distribution for Requirement.parse('pip ') when installing pip

error: Could not find suitable distribution for Requirement.parse('pip')

[root@localhost ~]# /usr/local/python2.7/bin/easy_install pip
Searching for pip
Reading http://pypi.python.org/simple/pip/
Couldn't find index page for 'pip' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://pypi.python.org/simple/
No local packages or download links found for pip
error: Could not find suitable distribution for Requirement.parse('pip')

Solution document: https://blog.csdn.net/sunnywuxian/article/details/82870803
Solution document: https://pip.readthedocs.io/en/stable/installing/
The solution process is as follows:

[root@localhost ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 
[root@localhost ~]# python get-pip.py
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Collecting pip
  Downloading https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 151kB/s 
Collecting wheel
  Downloading https://files.pythonhosted.org/packages/96/ba/a4702cbb6a3a485239fbe9525443446203f00771af9ac000fa3ef2788201/wheel-0.33.1-py2.py3-none-any.whl
Installing collected packages: pip, wheel
  The script wheel is installed in '/usr/local/python2.7/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-19.0.3 wheel-0.33.1
[root@localhost ~]# /usr/local/python2.7/bin/easy_install pip
Searching for pip
Best match: pip 19.0.3
Adding pip 19.0.3 to easy-install.pth file
Installing pip script to /usr/local/python2.7/bin
Installing pip3.7 script to /usr/local/python2.7/bin
Installing pip3 script to /usr/local/python2.7/bin

Using /usr/local/python2.7/lib/python2.7/site-packages
Processing dependencies for pip
Finished processing dependencies for pip
[root@localhost ~]# echo $?
[root@localhost ~]#  /usr/local/python2.7/bin/pip -V
pip 19.0.3 from /usr/local/python2.7/lib/python2.7/site-packages/pip (python 2.7)
[root@localhost ~]# 

pip command installed successfully here

Posted by scottchr226 on Fri, 29 Nov 2019 10:06:26 -0800