對寫那個版本的代碼,我選擇python3
只要是一個正常的能上網了的centos7,通過以下的具體操作都可以安裝python3成功,和python2同時存在。
python 2.7
是2.x
系列的最后一個主要版本了,官文里說,這個版本會支持到(安全更新和修復錯誤)至少2020年。
centos7 已經有python 2版本了,因為python2 在系統中是一個挺重要的依賴的。
現在要安裝python 3,也要保證依賴python2 的軟件能正常運行。
安裝軟件
現在給系統安裝很多模塊,保證不會有依賴問題出現,這些個模塊里有的可能不是創建django
項目所必須的,我還是安裝了,有可能玩別的東西的時候會用得到。
打開命令行
先使用bash
命令行,用ssh
連接虛擬機(與之前寫的文章里的一樣)
更改軟件源
安裝模塊前修改軟件來源,改為阿里開源鏡像站
,這樣可以保證安裝的速度
打開 https://opsx.alibaba.com/mirror
選擇centos
,點擊幫助
按照彈窗中的指導完成
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
下面是我輸入最后一個命令后的截圖
安裝所有模塊
下面安裝的模塊可能有點長
yum -y install gcc openssl-devel zlib-devel pcre-devel sqlite-devel psmisc epel-release
yum -y install wget tar openssl krb5 krb5-devel libidn libidn-devel openssl-devel
yum -y install openldap openldap-devel nss_ldap openldap-clients openldap-servers
yum -y install glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel
yum -y install curl curl-devel ssse2fsprogs e2fsprogs-devel pcre-devel python-devel libevent unzip
yum -y install gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel
yum -y install libxml2 libxml2-devel zlib zlib-devel
為了全部展示,所以分了幾行,可以先輸入yum -y install
,然后復制所有的模塊到后面,模塊間不能忘空格。
20s 左右就安裝完了,實在是太快了
安裝python 3
我選的版本是3.6.3,為了和阿里云服務器上的python版本一致
找到正確的版本
官網的下載頁 https://www.python.org/downloads/
找到3.6.3
版本
找到頁面最下面,復制源碼的鏈接
進入home 目錄下載
cd /home
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
解壓
tar xf Python-3.6.3.tgz
進入目錄
cd Python-3.6.3
編譯安裝
./configure
make
make install
安裝成功后,輸入python3
,看到已經安裝成功了
解決py2、py3同時存在
輸入命令
mv /usr/bin/python /usr/bin/python-2.7.backup
// 備份預裝的python的可執行程序
ln -s /usr/local/bin/python3.6 /usr/bin/python
// 已安裝的py3的可執行文件建立鏈接到系統默認的文件夾下,使默認的執行的python版本為py3
// 放著好多系統自帶的軟件的可執行文件
修改一些文件
上面的建立鏈接的命令把默認的python版本變成py3
因為直接輸入python,可以看到版本從py2變為了py3了
有些軟件的運行依賴py2,所以要修改一些內容,
下面的文件需要修改,把第一行的#! /usr/bin/python
修改為#! /usr/bin/python2.7
/usr/bin/yum
/usr/libexec/urlgrabber-ext-down
// 我防火墻一直關閉的,下面這個可選,這個沒影響過我,沒動過
/bin/firewall-cmd
安裝成功
分別用python2
和python3
嘗試。輸入yum
,工具未見異常
來自公眾號號:
胡里有仁