环境:
python3
开发环境有网络,生产环境无网络
思路:
在开发环境创建python的虚拟环境,在虚拟环境中pip install需要的包,后将虚拟环境移到生产环境(需要做一些修改)
我的python虚拟环境名: env
项目名: mainserver
详细:
创建虚拟环境:mkvirtualenv -p python3 env
workon env 安装项目需要的包:
pip3 install Django==1.11.28
pip3 install gunicorn==19.8.1
pip3 install qrcode==6.1
虚拟环境迁移:
我是将虚拟环境放到了项目目录下,项目方到了/opt目录:/opt/mainserver
目录结构:
├── mainserver
├── conf
│ └── mainserver.conf
├── c_so
│ └── gen.so
├── db
│ └── mainDB.sqlite3
├── env # 虚拟环境
│ ├── bin
│ ├── lib
│ ├── lib64
│ ├── pyvenv.cfg
│ └── share
├── logs
│ ├── gunicorn_access.log
│ ├── gunicorn_error.log
│ └── mainhub.log
├── mainserver
│ ├── gunicorn_conf.py
│ ├── manage.py
│ ├── mainserver
│ ├── __pycache__
│ ├── stup-sqlite.py
│ ├── users
│ └── utils
├── pids
│ └── main.pid
├── README.txt
├── main.sh
└── stup-sqlite.sh
需要修改虚拟环境中的 activate、pip3、gunicorn 文件
activate:
vim /opt/mainserver/env/bin/activate
找到 VIRTUAL_ENV,大概在47行,值改为迁移过来的虚拟环境目录
VIRTUAL_ENV='opt/mainserver/env'
作用

本文介绍了一种在无网络的生产环境中部署Python项目的方法,包括使用虚拟环境进行依赖包管理和配置gunicorn作为WSGI服务器。

2325

被折叠的 条评论
为什么被折叠?



