Python搭建虚拟开发环境和环境迁徙
1. windows端虚拟开发环境
首先我们要知道为什么搭建 **Python虚拟开发环境**
当我们在项目开发过程中,不同的项目可能会引用不同的包
甚至使用不同的Python版本
这时候为了方便解决不同项目的环境问题
我们便需要一种虚拟开发环境 将每个项目隔离开来
1.1 安装虚拟开发环境virtualenv
- 使用pip 安装
在 windows 的 dos黑窗口 执行
pip install virtualenv
该方法同样适用于linux平台
pip2 使用的是Python2.* 包下载管理器 ; pip3 用的是Python3.* 包下载管理器
下载成功的包我们可以使用
pip list 查看当前环境下载过的所有包
2. 创建虚拟环境
前面我们已经安装成功了虚拟环境,下面我们开始创建一个虚拟环境testvir
virtualenv testvir
执行完毕会自动帮你下载虚拟环境在本目录下
当然我们也可以指定 本地某个Python版本 去创建对应版本的虚拟环境
可选参数:-p 后面跟的是某版本Python解释器的绝对路径
指定 Python2.x 版本创建虚拟环境
virtualenv -p /usr/local/bin/python2.7 testvirtual2 # 指定使用Python2.7创建虚拟环境
我们可以看到本地 当前目录下成功出现了刚创建好的虚拟环境目录,里边包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了
linux: ls 查看 Windows: dir 查看当前目录下所有文件
1.2 激活环境和退出,删除
activate激活 ;deactivate退出 ; 删除用 rmvirtualenv 环境名字(需要退出后操作)
激活后 我们所创建的项目 以及 pip下载的包 都是在当前环境下做的
外部的 Python环境不受影响
1.3安装方便的 virtualenvwrapper-win 扩展
- 我们发现上边的有些许麻烦,我们可以使用另一种快捷的方式
pip install virtualenvwrapper-win
- 创建虚拟环境、
若想指定python版本,可通过"–python"指定python解释器
mkvirtualenv --python=/usr/local/python3.5.3/bin/python testvir2
mkvirtualenv testvir2
创建完当前目录下会生成 Envs目录; Envs下有一个你刚创建的环境testvir2,而且创建好直接进入。。。更方便
- 查看当前有哪些虚拟环境+重新进入虚拟环境
workon查看(如果跟环境名直接进入)
- 下面如何使用编译器引用我们刚创建的虚拟环境呢(例如Pycharm)
当我们创建项目例如一个 django项目 步骤如下所示
选中Scripts目录下的Python解释器 点击Ok即可
- Linux下的环境virtualenvwrapper细节配置(Ubuntu)
配置环境变量
用vim打开~/.bashrc 末尾添加
vim ~/.bashrc
末尾添加
export WORKON_HOME = $HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh
保存退出
source ~/.bashrc
然后我们就可以使用mkvirtualenv 创建虚拟环境啦,也可以使用workon查看和进入环境了
2. 开发环境迁徙
- 在开发时候我们经常在Windows下开发项目,然后将项目发送到生产环境linux上面
此时我们需要把Windows上用到的包和相同的版本 迁移到linux上
手动下载对应版本就非常耗时
但是 pip 给我们提供了快捷方式
pip freeze > requirements.txt # 导出依赖
依赖文件在当前路径下生成requirements.txt
然后在linux的虚拟环境下创建一个requirements.txt
拷贝依赖内容进去
然后执行
(mxonline) [qyg@localhost ~]$ pip install -r requirements.txt # 这样pip 会自动帮我们下载对应的所有包版本