更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、
软件包都要依赖预装的老版本python的,比如yum。
1. 查看 python 版本
[jack@ ~]$ python -V
Python 2.7.5
2.编译前准备
python 在编译之前配置的时候会探测环境的库是否存在,有的库不在,对应的功能会放弃
为了安装setuptools,要需要安装zlib:
yum install zlib zlib-dev
为在python编译时加入ssl模块,yum安装openssl和openssl-devel:
yum install openssl
yum install openssl-devel
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
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 . 原本的连接
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_old
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*