背景: linux 的centos7 默認(rèn)安裝了 python2.7.5 , 需要升級(jí)到最新版本
最近給公司的一臺(tái)閑置的電腦重新做了系統(tǒng)(CentOS 7.4)兼砖,官網(wǎng)方鏈接已經(jīng)沒(méi)有了菩佑,網(wǎng)上好難找到了,最后在我移動(dòng)硬盤(pán)中找到了這個(gè)珍藏版本尤泽,系統(tǒng)安裝我就不多說(shuō)了,下面講講如何處理升級(jí)之后無(wú)法啟動(dòng)面板的過(guò)程,因?yàn)镻ython2 和Python3 不兼容产园,而塔寶是使用Python2寫(xiě)的,導(dǎo)致升級(jí)Python3 之后面板無(wú)法啟動(dòng)了
安裝Python 3.7
# 創(chuàng)建安裝包目錄夜郁,把3.7.0換為你要版本即可
mkdir -p /root/Downloads/python_install && cd /root/Downloads/python_install
# 下載
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
#解壓源碼包
tar -zxvf Python-3.7.0.tgz
#創(chuàng)建安裝目錄
mkdir /usr/local/python3
cd Python-3.7.0/
#安裝到指定目錄
./configure --prefix=/usr/local/python3
# 編譯
make && make install
# 漫長(zhǎng)的等待……
成功后創(chuàng)建軟連接即可全局使用python3了
cd /usr/local/python3
ln -s /usr/local/python3/bin/python3 /usr/local/bin//python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
出現(xiàn)問(wèn)題:
1什燕、CentOS7 升級(jí)Python3 之后塔寶面板打不開(kāi)解決辦法
這個(gè)時(shí)候好多人會(huì)用軟鏈更更換Python版本,如果更換之后就其實(shí)寶塔面板還是正常運(yùn)行的竞端,但是當(dāng)你重啟服務(wù)器之后就gg了屎即,如果你嘗試重啟面板會(huì)出現(xiàn)一下提示
[root@localhost ~]# service bt restart
Stopping Bt-Tasks... done
Stopping Bt-Panel... done
Starting Bt-Panel... File "main.py", line 32
except Exception,ex:
^
SyntaxError: invalid syntax
failed
------------------------------------------------------
RuntimeError: Bad magic number in .pyc file
------------------------------------------------------
所以我們需要移除軟鏈還原原來(lái)的Python版本
rm -rf /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python
這時(shí)候重啟一下面板會(huì)看到
[root@localhost ~]# service bt restart
Stopping Bt-Tasks... done
Stopping Bt-Panel... done
Starting Bt-Panel... done
Starting Bt-Tasks... done
大家會(huì)說(shuō)那怎么使用python3開(kāi)發(fā),命令行執(zhí)行py文件之后使用python3命令即可
python3 xxxx.py
2事富、出現(xiàn)使用yum命令報(bào)錯(cuò)File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
問(wèn)題如下:
問(wèn)題出現(xiàn)原因:
yum包管理是使用python2.x寫(xiě)的技俐,將python2.x升級(jí)到python3.1.3以后,由于python版本語(yǔ)法兼容性導(dǎo)致問(wèn)題出現(xiàn)
解決辦法:
修改yum配置文件统台,將python版本指向以前的舊版本
# vi /usr/bin/yum
#!/usr/bin/python2.7
修改urlgrabber-ext-down
文件雕擂,更改python版本
# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7
3、ImportError: No module named '_sqlite3' in python3.7
先安裝
yum install readline-devel
yum install tk-devel
yum install tcl-devel
yum install openssl-devel
yum install sqlite-devel
然后重啟編譯python3
tar Jxvf Python-3.7.0.tar.xz
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
參考:
https://stackoverflow.com/questions/20126475/importerror-no-module-named-sqlite3-in-python3-3
https://my.oschina.net/bileel/blog/2222172