[本文出自天外歸雲的博客園]python
騰訊雲服務器安裝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:
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:
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
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"