[英]Install pip failed
我正在使用redhat 5.3
我使用以下命令將python更新為2.7。 (更新前是python 2.4)
# xz -d Python-2.7.6.tar.xz
# tar xvf Python-2.7.6.tar
# cd Python-2.7.6/
# ./configure
# make && make install
我安裝了python-setuptools
# 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
我嘗試卸載它,它告訴我:
[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重新安裝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
在RedHat(包括Fedora / CentOS)上升級Python時應該非常小心,因為絕大多數系統應用程序都依賴於捆綁版本的Python。 yum
尤其如此,它依賴於與操作系統捆綁在一起的Python版本。
簡而言之 - 如果你在RedHat / CentOS / Fedora上升級Python的版本,yum將無法正常工作 。
要在這些發行版上安裝不同版本的Python,您有兩個主要選項。 一個是找到已發布rpm的人,下載安裝即可; 但您可能必須自己處理依賴項。
另一個(更簡單的)選項是下載Python的源代碼,編譯它然后單獨安裝(使用altinstall
)。
您需要先安裝以下軟件包:
yum groupinstall "Development tools"
yum install 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"
tar xvf Python-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_install-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的選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.