更新python千万不要把老版本的删除!新老版本是能够共存的,不少基本的命令、
软件包都要依赖预装的老版本python的,好比yum。python
1. 查看 python 版本
[jack@ ~]$ python -V
Python 2.7.5sql
2.编译前准备
python 在编译以前配置的时候会探测环境的库是否存在,有的库不在,对应的功能会放弃bootstrap
为了安装setuptools,要须要安装zlib:python2.7
yum install zlib zlib-dev
为在python编译时加入ssl模块,yum安装openssl和openssl-devel:ide
yum install openssl测试
yum install openssl-develui
209 sudo yum install openssl
210 sudo yum install openssl-devel
211 sudo yum install ncurses-libs
212 sudo yum install readline-devel
213 sudo yum install sqlite-devel
214 sudo yum install bzip2-devel
215 sudo yum install gdbm-devel
216 sudo yum install libdbi-develthis
2.编译python 2.7.13
cd /home/jack/work/
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar xvf Python-2.7.13.tgz
cd Python-2.7.13
./configure --prefix=/usr/local/python27
sudo make
sudo make install
3 . 本来的链接url
4. 修改链接
sudo mv /usr/bin/python2 /usr/bin/python2_old
sudo mv /usr/bin/python2.7 /usr/bin/python2.7.5
sudo mv /usr/bin/python /usr/bin/python_oldsqlite
sudo ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2
sudo ln -s /usr/bin/python2 /usr/bin/python
其中用到了 python2 的目的是 ,之后有可能会用到python3
/usr/bin/python2 和 /usr/bin/python2.7 应该须要删掉
由于有的python 脚本里面会注明使用 /usr/bin/python2
5. 解决 yum的问题
yum 须要用到原来的 python2.7.5
sudo vi /usr/bin/yum
sudo vi /usr/libexec/urlgrabber-ext-down
6 测试一下 yum 是否可以正常使用
yum info gcc
查找和显示
yum info package1 显示安装包信息package1
yum list 显示全部已经安装和能够安装的程序包
yum list package1 显示指定程序包安装状况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
7 安装python2.7.13 对应的pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
The script wheel is installed in ‘/usr/local/python27/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
8 替换原来的pip
原来的pip
sudo mv /usr/bin/pip /usr/bin/pip_old
sudo mv /usr/bin/pip2 /usr/bin/pip2_old
sudo mv /usr/bin/pip2.7 /usr/bin/pip2.7_old
sudo cp /usr/local/python27/bin/pip* /usr/bin/
9 测试一下 pip
10 设置环境变量
sudo vi /etc/profile
在最后面加上
export PYTHON_HOME=/usr/local/python27
export PATH=$PYTHON_HOME/bin:$PATH
source /etc/profile # 当前终端生效,reboot后才会彻底生效
echo $PATH
遇到问题:
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _curses _curses_panel
_sqlite3 _ssl _tkinter
bsddb185 bz2 dbm
dl gdbm imageop
readline sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module’s name.
running build_scripts
209 sudo yum install openssl
210 sudo yum install openssl-devel
211 sudo yum install ncurses-libs
212 sudo yum install readline-devel
213 sudo yum install sqlite-devel
214 sudo yum install bzip2-devel
215 sudo yum install gdbm-devel
216 sudo yum install libdbi-devel
遇到问题
Traceback (most recent call last):
File “get-pip.py”, line 20649, in
main()
File “get-pip.py”, line 197, in main
bootstrap(tmpdir=tmpdir)
File “get-pip.py”, line 82, in bootstrap
import pip._internal
zipimport.ZipImportError: can’t decompress data; zlib not available
yum install zlib zlib-devel -y yum -y install zlib*