python安装更新和pip安装使用阿里源及yum问题解决

本文介绍了如何在CentOS 7上将Python从2.7.5更新到2.7.13,同时处理版本更新后可能导致的yum问题。通过详细步骤,包括安装依赖、下载Python源码、编译和安装,以及使用yum安装pip。此外,还提供了当pip安装时遇到问题的解决方案,如设置阿里源以加快安装速度,并解决yum中urlgrabber模块缺失的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos 7 python版本更新

原版本2.7.5 更新版本2.7.13
注:由于linux自带的python,系统对其有一定的依赖,因此建议保留原来的版本;常常出现的是yum功能问题;另 centos 7版本可以使用yum安装的方式进行pip安装,比手动安装更快捷方便

1.安装依赖包

yum -y install gcc
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel

2.包下载:
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

3.解压:

tar -zxvf Python-2.7.13.tgz

4.创建安装目录:

mkdir /usr/local/python2.7.13

5.切换目录:

cd Python-2.7.13

6.编译

./configure --prefix=/usr/local/python2.7.13

结果:

done
checking for ensurepip... no
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Modules/Setup.config
config.status: creating Misc/python.pc
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile


If you want a release build with all optimizations active (LTO, PGO, etc),
please run ./configure --enable-optimizations

please run ./configure –enable-optimizations (这一句可不执行)

7.安装:

make && make install

结果:

rm -f /usr/local/python2.7.13/share/man/man1/python.1
(cd /usr/local/python2.7.13/share/man/man1; ln -s python2.1 python.1)
if test "xno" != "xno"  ; then \
        case no in \
                upgrade) ensurepip="--upgrade" ;; \
                install|*) ensurepip="" ;; \
        esac; \
         ./python -E -m ensurepip \
                $ensurepip --root=/ ; \
fi

8.查看原来版本,记录原版本号

# python  --version
Python 2.7.5

9.更新版本:

[root@mongodb ~]# which python
/usr/bin/python
[root@mongodb ~]# ll /usr/bin/python
lrwxrwxrwx 1 root root 7 May  8 12:09 /usr/bin/python -> python2

重命名python为旧版本号,并建立新版本的连接

mv /usr/bin/python /usr/bin/python2.7.5

ln -s /usr/local/python2.7.13/bin/python2 /usr/bin/python

10.验证:

# python -V
Python 2.7.13
  1. 安装完成后,安装pip:

使用yum进行安装

yum install python-pip

若出现
No package python-pip available.

则解决方法如下:

yum -y install epel-release

yum install python-pip

安装完成后清理

yum clean all

12.pip验证

# pip -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

13.为提高pip的安装速度,使用国内的pip源,这里更新pip源为阿里源:

mkdir ~/.pip/
vi ~/.pip/pip.conf

写入:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

14.安装flask验证:

# pip install flask
Collecting flask
  Downloading http://mirrors.aliyun.com/pypi/packages/77/32/e3597cb19ffffe724ad4bf0beca4153419918e7fa4ba6a34b04ee4da3371/Flask-0.12.2-py2.py3-none-any.whl (83kB)
    100% |████████████████████████████████| 92kB 660kB/s 
Collecting click>=2.0 (from flask)
  Downloading http://mirrors.aliyun.com/pypi/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB)
    100% |████████████████████████████████| 71kB 1.0MB/s 
Collecting Jinja2>=2.4 (from flask)
  Downloading http://mirrors.aliyun.com/pypi/packages/5e/73/10c45b82a88ed6b7751bd40da31eeefd7b362e07b56a99aa6e56655a0794/Jinja2-2.9.6-py2.py3-none-any.whl (340kB)
    100% |████████████████████████████████| 348kB 829kB/s 
Collecting Werkzeug>=0.7 (from flask)
  Downloading http://mirrors.aliyun.com/pypi/packages/97/02/306e0d57fdbf467ec1c763bc1757ec6ba20b1332e0ea7e49111533d71d1c/Werkzeug-0.12.2-py2.py3-none-any.whl (312kB)
    100% |████████████████████████████████| 317kB 2.8MB/s 
Collecting itsdangerous>=0.21 (from flask)
  Downloading http://mirrors.aliyun.com/pypi/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz (46kB)
    100% |████████████████████████████████| 51kB 23.1MB/s 
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask)
  Downloading http://mirrors.aliyun.com/pypi/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz
Installing collected packages: click, MarkupSafe, Jinja2, Werkzeug, itsdangerous, flask
  Running setup.py install for MarkupSafe ... done
  Running setup.py install for itsdangerous ... done
Successfully installed Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.2 click-6.7 flask-0.12.2 itsdangerous-0.24
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

最后
You should consider upgrading via the ‘pip install –upgrade pip’ command.
可以使用pip install –upgrade pip升级pip,也可以不用升级,这里忽略

python版本更新后,yum出现问题

报错:
ImportError: No module named urlgrabber.grabber
解决办法:

[root@mongodb man1]# yum list
Loaded plugins: fastestmirror, langpacks
base                                                                                                                                                                         | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                                                                                                                         | 6.3 kB  00:00:00     
epel                                                                                                                                                                         | 4.3 kB  00:00:00     
extras                                                                                                                                                                       | 3.4 kB  00:00:00     
mongodb-org                                                                                                                                                                  | 2.5 kB  00:00:00     
updates                                                                                                                                                                      | 3.4 kB  00:00:00     
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber


Exiting on user cancel

A. 修改/usr/bin/yum python的路径:

#vi /usr/bin/yum
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.7.5

在使用yum 安装的时候同样会遇到
ImportError: No module named urlgrabber.grabber

yum install gcc
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
  File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
    from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber


Exiting on user cancel

B. /usr/libexec/urlgrabber-ext-down 也需要修改:

vi /usr/libexec/urlgrabber-ext-down
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.7.5

至此,安装完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值