我正在运行 Centos 5.11。我正在尝试安装 python 请求包。但是 pip 一直给我语法错误。
pip help 返回
[root@32437-201824 bin]# pip help
Traceback (most recent call last):
File "/usr/bin/pip", line 7, in ?
sys.exit(
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 236, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 2097, in load_entry_point
return ep.load()
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1830, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/lib/python2.4/site-packages/pip-7.1.2-py2.4.eg/pip/__init__.py", line 211
except PipError as exc:
^
SyntaxError: invalid syntax
pip 返回
[root@32437-201824 bin]# which pip
/usr/bin/pip
[root@32437-201824 bin]# yum list installed | grep pip
不返回任何内容。
[root@32437-201824 bin]# rpm -qa|grep pip
不返回任何内容。
[root@32437-201824 bin]# pip install requests
返回与 pip help 相同的错误(如上所示)
命令
[root@32437-201824 bin]# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
warning: /var/tmp/rpm-xfer.szimOy: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing... ########################################### [100%]
package epel-release-5-4.noarch is already installed
命令,
[root@32437-201824 bin]# yum install -y python-pip
几行之后返回此内容,
No package python-pip available.
Nothing to do
另一种安装方法也存在语法错误。
[root@32437-201824 tmp]# python get-pip.py
File "get-pip.py", line 43
_b85alphabet = (b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
^
SyntaxError: invalid syntax
命令,
[root@32437-201824 tmp]# python -V
Python 2.4.3
Python 以交互方式运行。
[root@32437-201824 tmp]# python
Python 2.4.3 (#1, Jan 9 2013, 06:47:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[1]+ Stopped python
因此 python 可以运行,但 pip 无法安装。我猜是有些东西不同步了,但到底是什么呢?
答案1
不要以 root 身份运行 pip。这会将不属于软件包的文件放入系统 site-packages 目录中。这是灾难的根源,正如您已经体验到的那样。
相反,我建议使用IUS 项目获取 python27 和 python27-virtualenv。它们可以与现有版本并行安装,因此您不必担心任何冲突。然后您可以运行virtualenv-2.7
以获取可以安全运行 pip 的 Python 2.7 虚拟环境。