[本文出自天外归云的博客园]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"