腾讯云快速完成python3.6开发环境搭建与django应用部署

[本文出自天外归云的博客园]

部署python3.6.5

腾讯云服务器安装python3竟然要3个多小时!而且一度速度为0……

于是网查据说是腾讯云服务器连python官网缓慢导致的,所以想找个国内的python3.6的下载地址进行安装,-_-||没找到。

于是决定通过本地上传的方法把python3传到腾讯云服务器上,先把python3先下载到本地然后传到腾讯云上就可以了。

首先要下载一个winscp到本地,安装并启动winscp。

填写腾讯云的ip、端口(默认是22)、登录服务器的用户名和密码完成winscp对linux服务器的登录,至此就可以在本地看到在腾讯云上的文件目录了。

把本地的python3.6拖拽到winscp里就可以完成上传:

之后就可以在腾讯云服务器的根目录下看到刚刚上传的python3.6文件了,先解压缩一下:

tar -zxvf Python-3.6.5.tgz

至此这就把python3.6.5传到腾讯云服务器上了:

接下来还要安装python3.6.5,首先创建一个python3文件夹,执行以下命令:

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"
原文地址:https://www.cnblogs.com/LanTianYou/p/9482362.html