騰訊雲快速完成python3.6開發環境搭建與django應用部署

[本文出自天外歸雲的博客園]python

部署python3.6.5

騰訊雲服務器安裝python3居然要3個多小時!並且一度速度爲0……linux

因而網查聽說是騰訊雲服務器連python官網緩慢致使的,因此想找個國內的python3.6的下載地址進行安裝,-_-||沒找到。git

因而決定經過本地上傳的方法把python3傳到騰訊雲服務器上,先把python3先下載到本地而後傳到騰訊雲上就能夠了。web

首先要下載一個winscp到本地,安裝並啓動winscp。sql

填寫騰訊雲的ip、端口(默認是22)、登陸服務器的用戶名和密碼完成winscp對linux服務器的登陸,至此就能夠在本地看到在騰訊雲上的文件目錄了。django

把本地的python3.6拖拽到winscp裏就能夠完成上傳:centos

以後就能夠在騰訊雲服務器的根目錄下看到剛剛上傳的python3.6文件了,先解壓縮一下:服務器

tar -zxvf Python-3.6.5.tgz

至此這就把python3.6.5傳到騰訊雲服務器上了:ui

接下來還要安裝python3.6.5,首先建立一個python3文件夾,執行如下命令:spa

mkdir /usr/local/python3

在根目錄下進入解壓後的python3.6.5目錄:

cd Python-3.6.5

執行配置命令:

./configure --prefix=/usr/local/python3

個人騰訊雲服務器是centos系統,執行以上命令遇到了以下報錯:

error: no acceptable C compiler found in $PATH

緣由是須要先安裝gcc,執行如下命令安裝gcc:

yum install gcc

而後再執行配置命令就能夠了。

而後安裝python3,在python3.6.5解壓後的目錄下執行:

make
make install

編輯配置文件:

vi /etc/profile

進入編輯模式:

i 

在 export PATH 以前加上:

PATH=/usr/local/python3/bin:$PATH

按esc保存修改並退出:

:wq

執行如下命令使配置生效:

source /etc/profile

至此python3.6.5安裝完畢:

 

安裝setuptools

根目錄下執行命令下載並解壓setuptools:

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf setuptools-19.6.tar.gz

在解壓後的setuptools目錄下進行安裝:

cd setuptools-19.6.tar.gz
python3 setup.py build
python3 setup.py install

報錯提示RuntimeError: Compression requires the (missing) zlib module,執行命令:

yum install zlib
yum install zlib-devel

而後去python3.6.5解壓包目錄下執行命令:

make
make install

而後再回到setuptools目錄下執行命令:

python3 setup.py install

至此setuptools安裝好了。

 

安裝pip

在根目錄下執行命令下載並解壓pip:

wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-8.0.2.tar.gz

在pip解壓後的目錄下安裝pip:

cd pip-8.0.2
python3 setup.py build
python3 setup.py install

而後咱們在/usr/local/python3/bin目錄下就能夠看到已經成功安裝了pip。

可是用pip安裝django又報錯了,提示cannot import name HTTPSHandler,執行如下命令:

yum install openssl
yum install openssl-devel

而後從新編譯安裝python:

cd /usr/local/Python-3.6.5
make
make install

至此須要再從新安裝一下pip:

cd ~/pip-8.0.2
python3 setup.py build
python3 setup.py install

至此pip安裝完成。

 

安裝更多依賴庫

把本地python3環境安裝的依賴庫導入到requirements.txt:

pip freeze > requirements.txt

而後用winscp把這個文件傳到騰訊雲並安裝:

pip install -r requirements.txt

依賴庫默認走的騰訊雲鏡像,因此下載安裝會很快。

若是遇到了哪一個庫安裝失敗了,vi編輯requirements.txt文件,在安裝失敗的python庫所在行雙擊d刪除該行,並把以前的行也都dd刪除了,按esc輸入:wq保存並退出編輯。

而後再經過以上命令安裝requirements.txt文件中剩下的python庫便可。

注意:若是安裝sqlite3的python庫成功後依然引入失敗,須要從新編譯安裝一下python3:

cd Python-3.6.5
./configure --prefix=/usr/local/python3
make
make install

 

Django應用部署

Python3.6.5的環境已經搭建完畢,以後就能夠在騰訊雲服務器啓動應用了,我這裏部署了一個django應用。

首先git clone個人django代碼到騰訊雲服務器,當我修改了應用代碼後,我進入應用(backloud)所在目錄並經過git pull更新代碼,以後經過命令啓動django應用:

python3 manage.py runserver 0.0.0.0:8000

能夠看到服務起來了:

經過ip和端口號對web應用進行訪問,能夠在騰訊雲服務器後臺看到訪問日誌:

至此就已經成功在騰訊雲上搭建了python3.6.5的開發環境並部署了django應用。

在後臺運行django應用,不隨騰訊雲web會話斷開而關閉應用:

nohup python3 manage.py runserver 0.0.0.0:8000&

對於後臺運行的進程最好自定義進程名,省的找不到,能夠在manage.py文件中加上進程名定義:

try:
    import setproctitle
    setproctitle.setproctitle("xxxx")
except:
    pass

而後就能夠經過命令過濾出對應的後臺進程了:

ps -A | grep "xxxx"
相關文章
相關標籤/搜索