Linux 下部署Django專案你可能會遇到的問題!

陳雨塵發表於2018-07-18

Linux 下部署Django專案你可能會遇到的問題!

之前部署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


Linux 下部署Django專案你可能會遇到的問題!
等你安裝好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
複製程式碼

好了,先總結到這裡,後續再有繼續新增。如果問題歡迎留言!

相關文章