一、项目背景

不同的项目都会依赖各自的库,有些库的版本不一样会引起冲突,为了解决这个问题,需要使用虚拟环境,Python可以在每个项目目录下创建各自的虚拟环境,项目所依赖的包就在环境目录下,这样避免了库版本的冲突,也方便相同操作系统间可以快速的拷贝项目运行。

二、安装Python环境

2.1 安装编译环境(后续需要从python官网获取Python3的源码自己编译python)

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.2 从官网下载Python3的源码

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

2.3 编译安装

tar -xvJf  Python-3.6.2.tar.xz //解压
cd Python-3.6.2
./configure prefix=/usr/local/python3 //编译到/usr/local/python3
make && make install //安装

2.4 创建Python3的软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python //创建Python3软链接
python3 -V //查看Python3的版本

三、生成清单文件

3.1 在本地开发机上生成清单文件

通过pip3 freeze命令把依赖的包重定向到requirement.txt中

pip3 freeze >requirements.txt

清单文件内容如下:

certifi==2020.6.20
chardet==3.0.4
click==7.1.2
Flask==1.1.2
idna==2.10
itsdangerous==1.1.0
Jinja2==2.11.2

3.2 把项目文件和清单文件上传到服务器上

1. 把项目打包

tar -zcvf product.tar.gz product

2. 然后传到服务器上

 可以通过winSCP工具把压缩包传到linux服务器,也可以直接在linux服务器上执行rz -bye的方式传输文件

rz -bye //在linux服务器上执行,然后选择开发机上的压缩包

四、在Linux服务器上为项目创建虚拟环境

1. 切换到pip3所在的目录,执行命令

#安装虚拟环境
pip3 install virtualenv

# 创建python3.6版本的虚拟环境 venv
virtualenv venv --python=python3.6

# 切换到虚拟环境所在的目录
cd venv

# 启用虚拟环境
source ./bin/activate 【1、退出虚拟环境:deactivate 2、删除虚拟环境:rm -r venv】

# 安装依赖清单里的库
pip3 install -r requirements.txt

# 列出当前虚拟环境所安装的依赖库
pip3 list

五、启动服务

1.启动xxx.py

# 在后台启动xxx.py
python xxx.py &