安装Python,安装位置opt/python文件夹
安装依赖
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
下载压缩包
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
解压 tar -zxvf Python-3.7.0.tgz
进入文件夹 cd Python-3.7.0
编译 ./configure --prefix=/opt/python
安装 make&&make install
vim /etc/profile
在/etc/profile最后一行添加
export PATH=$PATH:/opt/python/bin
执行下面,即可实现Python调用2,拍Python3调用3
source /etc/profile
安装virtualenv
pip install virtualenv
创建目录
mkdir Myproject
cd Myproject
创建纯净的独立运行环境venv,安装python3,在Myproject下生成venv文件夹
virtualenv --no-site-packages --python=python3 venv
进入虚拟环境(venv)Myproject
source venv/bin/activate
安装第三方包
pip install django==1.9.8
#此时pip的包都会安装到venv环境下,venv是针对Myproject创建的
退出venv环境
deactivate
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
virtualenvwrapper工具
pip3 install virtualenvwrapper
打开文件
vim ~/.bashrc
写入以下两行代码
export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python/bin/python3 #指定python解释器
source /opt/python/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc
创建一个虚拟环境:
mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。
在虚拟环境上工作:激活虚拟环境my_django115
workon my_django115
再创建一个新的虚拟环境
mkvirtualenv my_django2
virtualenvwrapper 提供环境名字的tab补全功能。
workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon my_django115
workon my_django2
也可以手动停止虚拟环境
deactivate
删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115
lsvirtualenv
列举所有的环境。
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages
和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages
显示 site-packages 目录中的内容。
安装uwsgi
pip install uwsgi
#检查uwsgi版本
uwsgi --version
#检查uwsgi python版本
uwsgi --python-version
#启动一个python
uwsgi --http :8000 --wsgi-file test.py
http :8000: 使用http协议,端口8000
wsgi-file test.py: 加载指定的文件,test.py
#热加载启动Django
uwsgi --http :8088 --wsgi-file wsgi.py --py-autoreload=1
#创建uwsgi配置文件 uwsgi.ini
[uwsgi]
#使用nginx连接时使用
socket=0.0.0.0:9000
#不用nginx直接当做web服务器使用
#http=0.0.0.0:9000
#项目目录绝对路径
chdir=/root/Envs/django15/mysite15
#wsgi文件路径,在项目底下
wsgi-file=mysite15/wsgi.py
#指定解释器目录
home=/root/Envs/django15
processes=4
threads=2
master=True
pidfile=uwsgi.pid
#ini文件启动启
uwsgi --ini uwsgi.ini