linux下编译安装python

从以下网址获取python各版本:https://www.python.org/ftp/python/
版本说明:rc1rc2版不是最终版,最终版前面没有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 就可以了

posted @ 2018-12-25 09:31  xuejianbest  阅读(539)  评论(0编辑  收藏  举报