CentOS 7下編譯安裝Python3
CentOS 7預設安裝的Python版本是Python2.7 , 但是我們需要使用Python3.6,目前Python3更強大。所以需要安裝Python3版本,今天以Python3.6.2為例來看下CentOS 7如何安裝Python3.x。
在開始之前,我們要強調兩點:
a. CentOS 7上面的預設Python絕對不要試圖解除安裝刪除(因為Linux系統有些命令依賴Python環境),否則等待你的只有重灌系統;
b. Linux下是允許多個Python版本存在的,並且相互之間不影響
下面開始:
1.檢視是否已經安裝Python
CentOS 7 預設安裝了Python2.7.5 因為一些命令要用它比如 yum 它使用的是 python2.7.5.
使用 python -V 命令檢視一下是否安裝 Python:
1
2 |
# python -V Python 2.7.5 |
然後檢視一下 Python 可執行檔案的位置:
1
2 |
# which python /usr/bin/python |
進入到 bin 目錄:
1
2
3
4
5 |
# cd /usr/bin/ # ls -la python* lrwxrwxrwx. 1 root root 34 8月 25 08:18 python -> python2 lrwxrwxrwx. 1 root root 9 8月 19 21:32 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 11月 6 2016 python2.7 |
可以看到可執行檔案 python 指向 python2 ,python2 又指向 python2.7 也就是說 Python 命令執行的系統預裝的 Python2.7.
要安裝 Python 的其他版本先執行 mv python python.bak 命令備份 python 檔案。
1
2
3
4
5 |
# mv python python.bak # ls -la python* lrwxrwxrwx. 1 root root 9 8月 19 21:32 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 11月 6 2016 python2.7 lrwxrwxrwx. 1 root root 7 8月 19 21:32 python.bak -> python2 |
2.修改 yum 配置檔案
因為yum使用CentOS7.3預設安裝的Python 2.7.5,因此替換為Python 3.6.2後無法正常工作.
1
2
3
4
5 |
# yum repolist
File
"/usr/bin/yum"
, line 30
except KeyboardInterrupt, e:
^ SyntaxError: invalid syntax |
因此修改yum配置檔案,繼續使用Python2.7.5.
更改yum指令碼的python依賴
1
2
3
4
5
6
7
8
9 |
# cd /usr/bin # ls -al yum* -rwxr-xr-x. 1 root root 801 11月 15 2016 yum -rwxr-xr-x. 1 root root 9429 11月 6 2016 yum-builddep -rwxr-xr-x. 1 root root 8582 11月 6 2016 yum-config-manager -rwxr-xr-x. 1 root root 7609 11月 6 2016 yum-debug-dump -rwxr-xr-x. 1 root root 7903 11月 6 2016 yum-debug-restore -rwxr-xr-x. 1 root root 10999 11月 6 2016 yumdownloader -rwxr-xr-x. 1 root root 11031 11月 6 2016 yum-
groups
-manager |
使用vim更改以上檔案頭,把 #!/usr/bin/python 改為 #!/usr/bin/python2
修改gnome-tweak-tool配置檔案
1 |
# vim /usr/bin/gnome-tweak-tool |
把檔案頭 #!/usr/bin/python 改為 #!/usr/bin/python2
修改urlgrabber配置檔案
1 |
# vim /usr/libexec/urlgrabber-ext-down |
把檔案頭 #!/usr/bin/python 改為 #!/usr/bin/python2
3.編譯環境準備
安裝開發套件用於編譯 Python3.6.2 原始碼
1 |
# yum groupinstall 'Development Tools' |
安裝 python3.6.2 可能會使用到的依賴
程式碼如下:
1 |
# yum install -y ncurses-libs zlib-devel mysql-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel |
4.安裝 Python3.6.2
到官網獲取最新版的 Python3.6.2 下載地址
下載 tgz.xz 包就可以了. Python-3.6.2.tar.xz ,這個是 Python 的原始碼.
執行wget 命令直接下載到當前資料夾:
1
2
3
4
5 |
# wget # xz -d Python-3.6.2.tar.xz # tar -xvf Python-3.6.2.tar.xz # cd Python-3.6.2/ # ./configure --prefix=/usr/local/python3.6 --enable-optimizations |
先解釋上面的引數:
--prefix選項是配置安裝的路徑,如果不配置該選項,安裝後可執行檔案預設放在/usr/local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在/usr/local/etc,其它的資原始檔放在/usr/local/share,比較凌亂.
如果配置--prefix,如:./configure --prefix=/usr/local/python3.6可以把所有資原始檔放在/usr/local/python3.6的路徑中,不會雜亂.用了--prefix選項的另一個好處是解除安裝軟體或移植軟體。當某個安裝的軟體不再需要時,只須簡單的刪除該安裝目錄,就可以把軟體解除安裝得乾乾淨淨;移植軟體只需複製整個目錄到另外一個相同的作業系統機器即可.當然要解除安裝程式,也可以在原來的make目錄下用一次make uninstall,但前提是make檔案指定過uninstall.
--enable-optimizations 是最佳化選項(LTO,PGO 等)加上這個 flag 編譯後,效能有 10% 左右的最佳化,但是這會明顯的增加編譯時間,老久了.
./configure命令執行完畢之後建立一個檔案 Makefile, 供下面的make命令使用,執行make install之後就會把程式安裝到我們指定的資料夾中去.
然後執行編譯和安裝
1 |
# make && make install |
安裝完成之後進入到/usr/local/python3.6目錄,可以看到Python的可執行檔案目錄bin等相關目錄.
5.修改軟連結配置 Python3.6 、pip3.6 為系統預設
1
2 |
# ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python # ln -s /usr/local/python3.6/bin/pip3.6 /usr/bin/pip |
進入/usr/bin目錄檢視相關軟連結配置結果:
1
2
3
4
5
6
7
8 |
# cd /usr/bin # ls -la python* lrwxrwxrwx. 1 root root 34 8月 25 08:18 python ->
/usr/local/python3
.6
/bin/python3
.6 lrwxrwxrwx. 1 root root 9 8月 19 21:32 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 11月 6 2016 python2.7 lrwxrwxrwx. 1 root root 7 8月 19 21:32 python.bak -> python2 # ls -al pip* lrwxrwxrwx. 1 root root 31 8月 25 08:21 pip ->
/usr/local/python3
.6
/bin/pip3
.6 |
檢視系統預設 Python、pip版本:
1
2
3
4
5
6 |
# python -V Python 3.6.2 # python2 -V Python 2.7.5 # pip -V pip 9.0.1 from
/usr/local/python3
.6
/lib/python3
.6
/site-packages
(python 3.6) |
現在系統預設的python版本為Python 3.6.2,而CentOS7.3預設安裝的Python 2.7.5現在可以使用python2呼叫.pip 也變成了最新版本的.
到這裡CentOS7.3 編譯安裝 Python3.6.2就完成了!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952502/viewspace-2942935/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CentOS下編譯安裝Python3教程CentOS編譯Python
- centos7編譯安裝python3CentOS編譯Python
- centos PHP 編譯安裝CentOSPHP編譯
- CentOS 下編譯安裝 NginxCentOS編譯Nginx
- CentOS 下編譯安裝 apacheCentOS編譯Apache
- CentOS 6.4 編譯安裝 apacheCentOS編譯Apache
- Centos 下編譯安裝RedisCentOS編譯Redis
- CentOS 7 如何編碼安裝Python3?CentOSPython
- Centos7編譯安裝OpenRestyCentOS編譯REST
- Centos 編譯安裝 PHP7.4.7CentOS編譯PHP
- Centos8編譯安裝核心CentOS編譯
- 如何在CentOS7安裝Node?(編譯安裝)CentOS編譯
- CentOS 下編譯安裝 PHP7.2CentOS編譯PHP
- Centos7編譯安裝Apache教程。CentOS編譯Apache
- Centos7編譯安裝Memcached教程。CentOS編譯
- Centos7編譯安裝Docker教程。CentOS編譯Docker
- Linux Centos下編譯安裝RedisLinuxCentOS編譯Redis
- centos7下編譯安裝lnmpCentOS編譯LNMP
- CentOS 安裝Python3CentOSPython
- CentOS 安裝 Python3CentOSPython
- centOS安裝python3CentOSPython
- python3安裝編譯_tkinter模組丟失Python編譯
- CentOS 全新編譯安裝 Python3.8CentOS編譯Python
- httpd-2.4 編譯安裝(centos6)httpd編譯CentOS
- Centos7編譯安裝Tomcat教程。CentOS編譯Tomcat
- centos手動編譯安裝apache、php、mysqlCentOS編譯ApachePHPMySql
- CentOS6 編譯安裝 redis-3.2.3CentOS編譯Redis
- CentOS 6.4下編譯安裝MySQL 5.6.14CentOS編譯MySql
- CentOS 7 原始碼編譯安裝 Mysql 5.7CentOS原始碼編譯MySql
- 在Centos5.2下編譯安裝LAMPCentOS編譯LAMP
- centos7 編譯安裝imagemagick7.1CentOS編譯
- 為CentOS安裝python3CentOSPython
- CentOS 下編譯安裝 PHP7.2(nginx 版)CentOS編譯PHPNginx
- CentOS 下編譯安裝 PHP7.2(apache 版)CentOS編譯PHPApache
- Centos7編譯安裝kafka-manager教程CentOS編譯Kafka
- CentOS7編譯和安裝GCC7.5CentOS編譯GC
- Centos 7.6 下Mysql8.0.16編譯安裝CentOSMySql編譯
- Centos7下原始碼編譯安裝apacheCentOS原始碼編譯Apache