python项目部署之 django虚拟环境
安装虚拟环境管理工具
- 安装virtualenv
pip3 install virtualenv
- 安装virtualenvwrapper
pip3 install virtualenvwrapper
- 找到执行脚本
# 查找python3命令的路径
[root@instance-nnja0or7 ~]# which python3
/usr/bin/python3
# 查找virtualenvwrapper.sh脚本的路径
[root@instance-nnja0or7 ~]# find / -name virtualenvwrapper.sh
/usr/local/python3/bin/virtualenvwrapper.sh
配置环境变量
- 编辑系统环境
vim ~/.bashrc
- 写入以下代码
export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #指定python解释器
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /usr/local/python3/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本 这个文件需要find查找到对应路径
- 刷新环境变量
source ~/.bashrc
使用
mkvirtualenv django3 #创建环境 然后会直接切换进入
lsvirtualenv #查看所有虚拟环境
workon django3 #直接切换虚拟环境
cdvirtualenv #直接回到env主目录
cdsitepackages #切换到pip的三方包目录
lssitepackages #类似于lsvirtualenv 列出当前虚拟环境的三方包目录
deactivate #退出
rmvirtualenv #删除
django的uwsgi部署文件编写
[uwsgi]
socket = :8001
chdir = /usr/python_test/testDjango
# pythonpath = /usr/python_test/testDjango/djangoenv/lib/python3.7/site-packages
home = /root/Envs/django3
wsgi-file = /user/python_test/testDjango/testDjango/wsgi.py
module = testDjango.wsgi:application
master = true
processes = 4
threads = 2
vacuum = true
daemonize = /home/log/test_uwsgi.log
buffer-size = 32768
pidfile = ./uwsgi.pid
报错:virtualenv: error: unrecognized arguments: –no-site-packages
Creating virtual environment...
usage: virtualenv [--version] [--with-traceback] [-v | -q] [--app-data APP_DATA] [--clear-app-data] [--discovery {builtin}] [-p py] [--creator {builtin,cpython2-posix}] [--seeder {app-data,pip}] [--no-seed] [--activators comma_sep_list]
[--clear] [--system-site-packages] [--symlinks | --copies] [--download | --no-download] [--extra-search-dir d [d ...]] [--pip version] [--setuptools version] [--wheel version] [--no-pip] [--no-setuptools] [--no-wheel]
[--symlink-app-data] [--prompt prompt] [-h]
dest
virtualenv: error: unrecognized arguments: --no-site-packages
没有这个参数 –no-site-packages ,是 virtualenv 版本问题。升级:
pip3 install --upgrade virtualenv==16.7.9