我们开发Python项目时,多个项目可能用到不同的Python版本,或是包的不同的版本。为了让每个项目运行的Python环境互不影响,我们需要为每个项目创建Python虚拟环境。
虚拟环境之间是互相隔离的,所以我们不用担心项目A中python环境的变动会影响到项目B如下图所示
Linux下创建虚拟环境
创建虚拟环境可以使用virtualenv,使用pip安装即可
pip install virtualenv
开始创建, 下边创建了一个名称是my_project_env的虚拟环境,解释器用的是python2.7
virtualenv -p /usr/bin/python2.7 my_project_env
启动虚拟环境
输入下边的命令后,当前环境就处于my_project_env虚拟环境啦
source my_project_env/bin/activate
在此环境下,使用pip进行包管理,只会对这个虚拟环境下的包进行管理
停用虚拟环境
deactivate
环境迁移
当我们需要对项目运行环境进行迁移时,可以参考以下步骤
- 启动项目当前的虚拟环境
- 新建一个目录whls,用于存放项目依赖包
- 进入whls目录,执行下边命令,生成项目的requirements.txt文件
pip freeze > requirements.txt
- 执行下边的命令下载依赖包
pip download -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
- 将whls文件夹拷贝到目标环境
- 在目标环境中参考上边的步骤新建并启动python虚拟环境
- 在目标环境中进入whls目录
- 执行下边的命令在目标环境的python虚拟环境中安装项目依赖
pip install --no-index --find-links=./ -r requirements.txt
- 将项目源码拷贝到目标环境,在虚拟环境运行成功。