CentOS7下安裝Python3和Python2並存

來源:互聯網
上載者:User

標籤:python3   python yum   

(一)簡述
剛安裝的centos7.4版本預設是安裝Python2.7,由於一些命令需要使用的原因,比如yum等,使用的是2.7.5版本的,由於現在很多庫包括django都是使用Python3,
因此,有這樣的需求:yum使用python2.7版本,django和其他的使用預設的python3版本。

(二)查看並備份python2相關資訊
1,使用python -V 可以查看預設的版本資訊。

[[email protected] ~]# python -VPython 2.7.5

2,然後使用which python 查看下python的可執行檔的位置。

[[email protected] ~]# which python/usr/bin/python

3,可執行檔在/usr/bin/目錄下,查看有關python的檔案,ll /usr/bin/python*。通過查看可以得知python預設指向的是python2.7

[[email protected] ~]# ll /usr/bin/python*lrwxrwxrwx. 1 root root    7 Dec 21 15:23 /usr/bin/python -> python2lrwxrwxrwx. 1 root root    9 Dec 21 15:23 /usr/bin/python2 -> python2.7-rwxr-xr-x. 1 root root 7136 Aug  4  2017 /usr/bin/python2.7

重要:通過查看可以得知python預設指向的是python2.7,由於還沒有安裝python3,可以先備份python檔案,等python3安裝好了後再建立軟串連即可
4,備份預設python2.7版本
[[email protected] bin]# mv /usr/bin/python /usr/bin/python.bak

(三)安裝配置python3
1,安裝相關的包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

[[email protected] bin]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc makeLoaded plugins: fastestmirrorbase                                                                                                             | 3.6 kB  00:00:00     extras                                                                                                           | 3.4 kB  00:00:00     updates                                                                                                          | 3.4 kB  00:00:00     Loading mirror speeds from cached hostfilePackage zlib-devel-1.2.7-17.el7.x86_64 already installed and latest versionPackage 1:openssl-devel-1.0.2k-8.el7.x86_64 already installed and latest versionPackage ncurses-devel-5.9-14.20130511.el7_4.x86_64 already installed and latest versionPackage sqlite-devel-3.7.17-8.el7.x86_64 already installed and latest versionPackage gcc-4.8.5-16.el7_4.1.x86_64 already installed and latest versionPackage 1:make-3.82-23.el7.x86_64 already installed and latest versionResolving Dependencies--> Running transaction check---> Package bzip2-devel.x86_64 0:1.0.6-13.el7 will be installed

2,去python官網下載穩定版(https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz)

[[email protected] usr]# wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz--2018-03-08 00:05:54--  https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xzResolving www.python.org (www.python.org)... 151.101.228.223, 2a04:4e42:12::223Connecting to www.python.org (www.python.org)|151.101.228.223|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 16992824 (16M) [application/octet-stream]Saving to: ‘Python-3.6.4.tar.xz’16% [==============>                                                                                ] 2,781,624   49.4KB/s  eta 4m 49s

3,安裝python3

[[email protected] tmp]# tar xf Python-3.6.1.tar.xz[[email protected] tmp]# cd Python-3.6.1[[email protected] Python-3.6.1]# ./configure prefix=/usr/local/python3[[email protected] Python-3.6.1]# make &&make install

4,在/usr/bin/下建立軟串連

[[email protected] Python-3.6.1]# ln -s /usr/local/python3/bin/python3  /usr/bin/python[[email protected] Python-3.6.1]# python -VPython 3.6.1[[email protected] Python-3.6.1]# python2 -VPython 2.7.5[[email protected] Python-3.6.1]# ll /usr/bin/python*lrwxrwxrwx  1 root root   32 Mar  7 05:38 /usr/bin/python -> /usr/local/python3.6/bin/python3lrwxrwxrwx. 1 root root    9 Jan 29 16:34 /usr/bin/python2 -> python2.7-rwxr-xr-x. 1 root root 7136 Aug  4  2017 /usr/bin/python2.7lrwxrwxrwx. 1 root root    7 Jan 29 16:34 /usr/bin/python2.bak -> python2

5,配置正常使用yum,使yum使用python2.7版本,否則會報錯的。
5.1,修改/usr/bin/yum檔案把#! /usr/bin/python修改為#! /usr/bin/python2

    [[email protected] Python-3.6.1]# vim /usr/bin/yum #!/usr/bin/python2
5.2,修改/usr/libexec/urlgrabber-ext-down檔案,把裡面的#! /usr/bin/python 也要修改為#! /usr/bin/python2
    [[email protected] Python-3.6.1]# vim /usr/libexec/urlgrabber-ext-down #! /usr/bin/python2

6,如果使用pip的話,簡曆pip3的軟串連。

[[email protected] Python-3.6.1]#ln -s /usr/local/python3/bin/pip3   /usr/bin/pip3[[email protected] Python-3.6.1]# ll /usr/bin/pip3lrwxrwxrwx 1 root root 29 Mar  7 05:41 /usr/bin/pip3 -> /usr/local/python3.6/bin/pip3

至此,一台伺服器上預設的版本是python3 ,同時python2頁存在了,可以正常使用yum來進行安裝所需的軟體了。

CentOS7下安裝Python3和Python2並存

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.