CentOS/RHEL 6 pip升级后遇到的错误及解决

环境: CentOS 6.5(Final) Python 2.6.6

描述: 生产环境的主机,工作需要用到MySQLdb模块,于是pip安装,pip提示pip需要升级,然后我就手贱的升级了一下,结果悲剧由此产生,再执行pip命令提示如下:

pip

Traceback (most recent call last): File "/usr/bin/pip", line 7, in <module> from pip._internal import main File "/usr/lib/python2.6/site-packages/pip/_internal/init.py", line 42, in <module> from pip._internal import cmdoptions File "/usr/lib/python2.6/site-packages/pip/_internal/cmdoptions.py", line 16, in <module> from pip._internal.index import ( File "/usr/lib/python2.6/site-packages/pip/_internal/index.py", line 536 {str(c.version) for c in all_candidates}, ^ SyntaxError: invalid syntax

bing了一下错误,得到如下信息:

CENTOS/RHEL 6 PYTHON PIP ERROR, SYNTAXERROR: INVALID SYNTAX {STR(C.VERSION) FOR C IN ALL_CANDIDATES}

If you’re attempting to upgrade the version of PIP on CentOS or RHEL 6 from the default 7.1.0 to a newer version, as of April 14th 2018 when PIP 10.0.0 was released you will run into issues since EL6 ships with Python 2.6 as standard. Since you cannot upgrade the default version of Python because it will break in-built tooling such as Yum, you’ll need to version lock PIP when you upgrade it to 9.0.3. This is the last stable version of PIP that is compatible with Python 2.6

如果您试图将CentOS或RHEL 6上的PIP版本从默认的7.1.0升级到更新版本,那么从PIP 10.0.0发布到2018年4月14日,您将会遇到一些问题,因为EL6以Python 2.6作为标准发布。由于无法升级Python的默认版本,因为它会破坏内置的工具(比如Yum),所以在将其升级到9.0.3时,需要对lock PIP进行版本控制。这是与Python 2.6兼容的PIP的最后一个稳定版本。

ps:英文不好直接机翻的。

解决: 虽然pip不能用了,但是yum没受到影响。

yum list python-pip

yum erase python-pip

pip

-bash: /usr/bin/pip: 没有那个文件或目录

yum -y install python-pip

pip version

pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)

评论 1