linux下编译安装python
从以下网址获取python各版本:https://www.python.org/ftp/python/
版本说明:rc1
版rc2
版不是最终版,最终版前面没有rc*
字样。如:Python-2.7.13.tgz
*.tgz
文件是源码,需要编译安装:
解压:
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
tar xf Python-3.6.6.tar.xz
cd Python-3.6.6
编译安装前先安装模块:
CentOS:
# 需要安装gcc:
yum -y groupinstall "Development tools"
yum -y install bzip2-devel #bz2
yum -y install zlib-devel #zlib
yum -y install readline-devel #readline
yum -y install sqlite-devel #_sqlite3
yum -y install tk-devel #_tkinter
yum -y install ncurses-devel #_curses _curses_panel
yum -y install db4-devel #_bsddb dbm
yum -y install gdbm-devel #gdbm
yum -y install openssl-devel #_ssl
yum -y install libpng-devel
yum -y install xz-devel #_lzma
#bsddb185、imageop、sunaudiodev、dl这几个模块已经弃用,可以忽略。
Ubuntu:
sudo apt-get install libbz2-dev libncurses5-dev libgdbm-dev \
liblzma-dev sqlite3 libsqlite3-dev openssl libssl-dev \
tcl8.6-dev tk8.6-dev libreadline-dev zlib1g zlib1g-dev zlibc
编译安装:
--prefix
参数用来指定安装目录
./configure --prefix=/opt/python3.6.4
#如果您希望发布版本并且所有稳定优化都处于活动状态(PGO等),
#请运行./configure --enable-optimizations
#开启后编译会进行很多测试,速度慢很多
make
make install
设置环境变量并升级pip3:
cp ~/.bash_profile ~/.bash_profile.bak
echo 'export PATH=$PATH:/opt/python3.6.6/bin' >> ~/.bash_profile
. ~/.bash_profile
pip3 install --upgrade pip
注意:
因为linux一般都会默认安装python2版本,且很多常用工具都用到python2,而如果把系统环境变量的python名引用到python3会造成这些工具运行报错。
所以我一般不将系统的python命令引用到python3,而保留python2,想用python3直接执行python3命令。
若必须要python命令引用python3,则看下面。
若需要设置软连接:/usr/bin/python --> /usr/local/python3.6.6/bin/python3
ln -s /usr/local/python3.6.6/bin/python /usr/bin/python
若yum报错:
vim /usr/bin/yum
把#!/usr/bin/python
修改为低版本的:
#!/usr/bin/python2.7
另外,若还是报错:
打开/usr/libexec/urlgrabber-ext-down
看下,发现其也使用了/usr/bin/python
,于是跟前面一样,改为2.7,完成。
升级后 还有一个问题,gnome-tweak-tool
也就是优化工具打不开
[root@localhost applications]# find / -name gnome-tweak-tool
/usr/bin/gnome-tweak-tool
/usr/share/gnome-tweak-tool
[root@localhost applications]# vim /usr/bin/gnome-tweak-tool
解决办法: gnome-tweak-tool 文件 #!/usr/bin/python
换成 #!/usr/bin/python2.7
就可以了
yum-config-manager 文件同样出错
[root@localhost kwplayer-master]# whereis yum-config-manager
yum-config-manager: /usr/bin/yum-config-manager /usr/share/man/man1/yum-config-manager.1.gz
[root@localhost kwplayer-master]# vim /usr/bin/yum-config-manager
解决办法同上: #!/usr/bin/python
换成 #!/usr/bin/python2.7
就可以了