一 安装前的准备工作
python -V # 查看版本:Python 2.6.6
操作系统centos 6.5
安装前要先装好gcc、 g++、和zlib相关的依赖库,假设安装目录设置为/usr/local/py-2.7.6
yum install -y groupinstall development zlib zlib-devel openssl-devel sqlite-devel bzip2-devel
yum -y install gcc gcc-c++
yum install libffi-devel -y
yum install openssl-devel
二 下载和安装
官方下载地址为:https://www.python.org/downloads/,选择的版本为2.7.6。可以下载最新的版本
wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar Jxvf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure --prefix=/usr/local/py-2.7.6
make # 报模块缺失时,有需要的安装后重make
make install
[root@blog bin]# cd /usr/local/py-2.7.6
[root@blog bin]# ll
# 目录结构
total 16
drwxr-xr-x 2 root root 4096 Sep 23 14:08 bin # bin目录下放的可执行文件
drwxr-xr-x 3 root root 4096 Sep 23 14:08 include # 头文件
drwxr-xr-x 4 root root 4096 Sep 23 14:08 lib # 库文件目录
drwxr-xr-x 3 root root 4096 Sep 23 14:08 share
[root@blog bin]# cd bin
[root@blog bin]# ./python2.7
Python 2.7.6 (default, Sep 23 2017, 14:06:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> # 进入这里表示已经安装成功
三 建立软连接
# 建立软链接,默认指向Python2.7,非常关键
创建软链接算是这里最关键的一步了,如果这里没有处理好,以后可能会遇到很多麻烦,动不动就会因为版本的原因报错。
首先先备份系统默认的python命令,一共有四个相关命令:
[root@blog bin]# which python # 查看系统默认python命令的位置
/usr/bin/python
[root@blog bin]# ls /usr/bin/python* -l # 查看所有的python命令
-rwxr-xr-x 2 root root 4864 Aug 18 2016 /usr/bin/python # 和下面的python26 python2.6一样
lrwxrwxrwx 1 root root 6 Sep 6 18:36 /usr/bin/python2 -> python # 软链接到python
-rwxr-xr-x. 1 root root 4864 Jul 24 2015 /usr/bin/python26
-rwxr-xr-x 2 root root 4864 Aug 18 2016 /usr/bin/python2.6
python python2.6 python26三个文件是同一个文件,不同的名字而已,现在要做的就是替换掉这些文件。
# 删掉之前的python python2命令,留下python26和python2.6备用
rm -rf /usr/bin/python /usr/bin/python2
# 创建新的python链接
ln -s /usr/local/py-2.7.6/bin/python2.7 /usr/bin/python
ln -s /usr/local/py-2.7.6/bin/python2.7 /usr/bin/python2
ln -s /usr/local/py-2.7.6/bin/python2.7 /usr/bin/python27
ln -s /usr/local/py-2.7.6/bin/python2.7 /usr/bin/python2.7
# 输入python查看是否成功
python -V # Python 2.7.6
四 相关问题处理
# yum不兼容Python2.7,需要指定为原版本
vi /usr/bin/yum
# 将"!/usr/bin/python"改为"!/usr/bin/python2.6.6"
如果遇见如下的错误:
ImportError: No module named pip._internal
采用如下的命令
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py --force-reinstall
运行dignding.py的时候遇见告警,安装下面的库
pip install requests
pip install pyopenssl ndg-httpsclient pyasn1
五 安装setuptools 和 pip
下载https://pypi.org/project/setuptools/#files,选择好下载的版本,复制链接
wget https://files.pythonhosted.org/packages/ed/69/c805067de1feedbb98c53174b0f2df44cc05e0e9ee73bb85eebc59e508c6/setuptools-41.0.0.zip
unzip setuptools-41.0.0.zip
cd setuptools-41.0.0
python setup.py install
下载https://pypi.org/project/pip/#files ,选择好下载的版本,复制链接
wget https://files.pythonhosted.org/packages/36/fa/51ca4d57392e2f69397cd6e5af23da2a8d37884a605f9e3f2d3bfdc48397/pip-19.0.3.tar.gz --no-check-certificate
tar -zxvf pip-19.0.3.tar.gz
cd pip-19.0.3
python setup.py install
创建链接
进入到/usr/local/py-2.7.6/bin目录,如果上面安装没报错的话,easy_install
和pip
命令就会出现在这里了:
删除老连接
rm -rf /usr/bin/easy_install* /usr/bin/pip
创建新连接
ln -s /usr/local/py-2.7.6/bin/pip2.7 /usr/bin/pip
ln -s /usr/local/py-2.7.6/bin/pip2.7 /usr/bin/pip27
ln -s /usr/local/py-2.7.6/bin/pip2.7 /usr/bin/pip2.7
ln -s /usr/local/py-2.7.6/bin/easy_install /usr/bin/easy_install
ln -s /usr/local/py-2.7.6/bin/easy_install /usr/bin/easy_install27
ln -s /usr/local/py-2.7.6/bin/easy_install /usr/bin/easy_install2.7
用命令检查是否成功
pip --version
easy_install --version