Python 安装pip失败

Python 安装pip失败,python,linux,python-2.7,pip,yum,Python,Linux,Python 2.7,Pip,Yum,我正在使用redhat 5.3 我使用以下命令将python更新为2.7。(更新之前是python 2.4) 我安装了python设置工具 # yum install python-setuptools 然后我安装了pip打印错误 ^ SyntaxError: invalid syntax File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/_vendor/colorama/__init__.py"

我正在使用redhat 5.3

我使用以下命令将python更新为2.7。(更新之前是python 2.4)

我安装了python设置工具

# yum install python-setuptools
然后我安装了pip打印错误

         ^
SyntaxError: invalid syntax
  File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/_vendor/colorama/__init__.py", line 2
    from .initialise import init, deinit, reinit
         ^
SyntaxError: invalid syntax
  File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/_vendor/colorama/winterm.py", line 2
    from . import win32
         ^
SyntaxError: invalid syntax
Adding pip 1.5.6 to easy-install.pth file
Installing pip script to /usr/bin
Installing pip2 script to /usr/bin
Installing pip2.4 script to /usr/bin

Installed /usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg
Processing dependencies for pip
我运行命令pip,它会打印以下错误:

# pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 2603, in <module>
  File "/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 666, in require
  File "/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: pip==1.5.6
因此,我尝试通过python get-pip.py重新安装pip。 它也有错误

# python get-pip.py 
Traceback (most recent call last):
  File "get-pip.py", line 17474, in <module>
    main()
  File "get-pip.py", line 17466, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 17406, in bootstrap
    import pip
  File "/tmp/tmpB9jhvw/pip.zip/pip/__init__.py", line 9, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/log.py", line 9, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/__init__.py", line 2, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/initialise.py", line 5, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/ansitowin32.py", line 6, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/winterm.py", line 2, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/win32.py", line 7, in <module>
  File "/usr/local/lib/python2.7/ctypes/__init__.py", line 10, in <module>
    from _ctypes import Union, Structure, Array
ImportError: No module named _ctypes
#python get-pip.py
回溯(最近一次呼叫最后一次):
文件“get pip.py”,第17474行,在
main()
文件“getpip.py”,第17466行,在main中
引导(tmpdir=tmpdir)
引导程序中的文件“get pip.py”,第17406行
进口pip
文件“/tmp/tmpB9jhvw/pip.zip/pip/_init__.py”,第9行,在
文件“/tmp/tmpB9jhvw/pip.zip/pip/log.py”,第9行,在
文件“/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/_init__.py”,第2行,在
文件“/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/initialise.py”,第5行,在
文件“/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/ansitowin32.py”,第6行,在
文件“/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/winterm.py”,第2行,在
文件“/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/win32.py”,第7行,在
文件“/usr/local/lib/python2.7/ctypes/_init__.py”,第10行,在
从类型导入联合、结构、数组
ImportError:没有名为_ctypes的模块

在RedHat(包括Fedora/CentOS)上升级Python时应该非常小心,因为大多数系统应用程序都依赖于捆绑版Python。尤其是
yum
,它依赖于操作系统附带的Python版本

简而言之-如果在RedHat/CentOS/Fedora上升级Python版本,则yum将无法正常工作

要在这些发行版上安装不同版本的Python,您有两个主要选项。一个是找到发布了rpm的人,下载一个安装程序;但您可能必须自己处理依赖关系

另一个(更简单的)选项是下载Python源代码,编译它,然后单独安装(使用
altinstall

您需要首先安装以下软件包:

  • yum-groupinstall“开发工具”
  • yum安装zlib-devel-bzip2-devel-openssl-devel-ncurses-devel
接下来,下载源代码并将其解压缩。在撰写本文时,最新版本为2.7.8:

  • wget”https://www.python.org/ftp/python/2.7.8/Python-2.7.8.xz“
  • tarxvfpython-2.7.8.xz
  • cd Python-2.7.8
现在,您必须构建Python并将其安装到另一个位置,如下所示:

  • /configure--prefix=/usr/local
  • make&make-altinstall
完成后,您就可以使用
/usr/local/bin/python2.7
。接下来,您将需要为这个版本的Python安装pip。为此,首先安装setuptools:

  • wget”https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py“
  • /usr/local/bin/python2.7 ez_setup.py
  • /usr/local/bin/easy\u安装-2.7 pip
最后一步是确保您可以使用此版本的Python。您可以通过修改shell的环境将
/usr/local/bin/
添加到
$PATH
(例如,在
$HOME/.bashrc
中添加它);或者您可以作为root用户在
/usr/bin/
中创建指向这些实用程序的符号链接。确保为他们提供特定于版本的标记:

  • ln-sf/usr/local/bin/python2.7/usr/bin/python2.7
  • ln-sf/usr/local/bin/pip/usr/local/bin/pip2.7

这将使您的默认Python保持系统版本(推荐),然后在需要时为您提供使用2.7的选项。

看起来您正在从两个不同的位置引用
/usr/lib/python2.4/
/usr/local/lib/python2.7/
。所以,pip是为python2.4安装的,而不是为python2.7安装的。那么我该怎么做呢@用户3689902try
yum clean all
然后尝试安装
pip
install
pip
,通过yum install python pip,我发布了第一条注释,先清理yum缓存,然后安装pip。也就是说,如果您没有通过yum或RPM安装python本身,请不要使用
yum
来安装python!
[root@linkea-dev-srv1 /]# yum remove pip
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Setting up Remove Process
No Match for argument: pip
Loading mirror speeds from cached hostfile
No Packages marked for removal
You have new mail in /var/spool/mail/root
# python get-pip.py 
Traceback (most recent call last):
  File "get-pip.py", line 17474, in <module>
    main()
  File "get-pip.py", line 17466, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 17406, in bootstrap
    import pip
  File "/tmp/tmpB9jhvw/pip.zip/pip/__init__.py", line 9, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/log.py", line 9, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/__init__.py", line 2, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/initialise.py", line 5, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/ansitowin32.py", line 6, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/winterm.py", line 2, in <module>
  File "/tmp/tmpB9jhvw/pip.zip/pip/_vendor/colorama/win32.py", line 7, in <module>
  File "/usr/local/lib/python2.7/ctypes/__init__.py", line 10, in <module>
    from _ctypes import Union, Structure, Array
ImportError: No module named _ctypes