之前部署Django專案到伺服器上的時候出現了各種問題,現在總結一下方便以後查閱,也希望能夠幫到有同樣問題的你。(如果有幫助記得點贊哦!?)
Linux 升級 Python 至 3.x
一般情況下自己帶的python 都是2.x的,為了使用新版本的3.x,需要對舊版本進行升級
# python --version
Python 2.7.5
複製程式碼
系統自帶的版本是2.7.5
1.下載新版本
版本可以自己隨意選,我這裡只是一個演示
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
複製程式碼
2.壓縮
tar -zxvf Python-3.5.2.tgz
複製程式碼
3.安裝配置
cd Python-3.5.2/
./configure
複製程式碼
如果./configure 出錯說明沒有安裝編譯器,這時,需要升級依賴包
yum install make gcc gcc-c++
複製程式碼
然後再
./configure
複製程式碼
4.編譯 安裝
make
make install
複製程式碼
5.驗證
# python3 -V
Python 3.5.2
複製程式碼
6.設定預設版本為3.x
ls -al /usr/bin | grep python
-rwxr-xr-x. 1 root root 11216 12月 1 2018 abrt-action-analyze-python
lrwxrwxrwx. 1 root root 6 4月 30 12:11 python -> python2
lrwxrwxrwx. 1 root root 5 4月 30 12:11 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 4月 20 2018 python2.7
複製程式碼
將原來 python 的軟連結重新命名:
mv /usr/bin/python /usr/bin/python.bak
複製程式碼
將 python 連結至 python3:
ln -s /usr/local/bin/python3 /usr/bin/python
複製程式碼
檢視結果
# python -V
Python 3.5.2
複製程式碼
說明安裝ok
7.配置 yum
vi /usr/bin/yum
複製程式碼
將 #!/usr/bin/python 改為 #!/usr/bin/python2.7,儲存退出
vi /usr/libexec/urlgrabber-ext-down
複製程式碼
將 #!/usr/bin/python 改為 #!/usr/bin/python2.7,儲存退出
報錯 ImportError: No module named pip --- 需要 安裝 pip
等你安裝好python3.x ,安裝Django的時候可能有會 報錯 ImportError: No module named pip 安裝pip的方法有很多,這裡我只介紹我使用的
wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate
tar xvf pip-1.3.1.tar.gz
python pip-1.3.1/setup.py install
複製程式碼
安裝的時候還可能會出現setuptools Compression requires the (missing) zlib module 的錯誤 這是因為缺少setuptools,下面的就是解決辦法
報錯 setuptools Compression requires the (missing) zlib module ---安裝setuptools
yum install zlib
yum install zlib-devel
複製程式碼
從新編譯python (make)
下載 setuptools
cd setuptools-39.2.0
python setup.py install
複製程式碼
安裝ok 之後再去安裝pip 就可以了
報錯 ModuleNotFoundError: No module named '_sqlite3' ----安裝sqlite3
最簡單的方法(一般情況下都可以的如果不可以自行谷歌其他方法吧)
yum install sqlite*
#重新編譯python
./configure --prefix=/usr/local/sqlite3
make && make install
複製程式碼
好了,先總結到這裡,後續再有繼續新增。如果問題歡迎留言!