python虚拟环境virtualenv

virtualenv

virtualenv用于在一台机器上创建多个独立的python运行环境,可以解决:

  1. 隔离项目之间的第三方包依赖

  2.在没有权限的情况下安装新的Python软件包

  除此之外,还有一个额外的好处:部署应用时,把开发环境的虚拟环境打包到生产环境即可。

1.安装

C:\python27>pip install virtualenv

2.使用

D:\mysite>C:\Python27\Scripts\virtualenv.exe env_py27

以上代码在D:\mysite目录安装env_py27环境目录,其文件结构:

D:\mysite\env_py27 的目录

2018/05/16  06:06    <DIR>          .

2018/05/16  06:06    <DIR>          ..

2018/05/16  06:06    <DIR>          Include

2018/05/16  06:06    <DIR>          Lib

2018/05/16  06:06    <DIR>          Scripts

其中Lib/site-packages包含了,从系统安装的python27下面的库。默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境

virtualenv --no-site-packages [虚拟环境名称]
比如
D:\mysite>C:\Python27\Scripts\virtualenv.exe --no-site-packages env_py27

  virtualenv可以实现两个python版本的共存,环境互不影响;使用virtualenv -p python.exe virtualenvname 可以在创建虚拟环境的时候指定python版本,其中python.exe为python解释器的绝对路径加上python.exe:

## 为虚拟环境env_py27指定python2.7版本的解释器
D:\mysite>C:\Python27\Scripts\virtualenv.exe -p C:\Python27\python.exe env_py27

 

3.启用虚拟环境

D:\mysite\env_py27>Scripts\activate

4.停用虚拟环境

D:\mysite\env_py27>Scripts\deactivate

 5.删除虚拟环境

D:\mysite>C:\Python27\Scripts\rmvirtualenv env_py27

 virtualenvwrapper 

  我们如果需要切换虚拟环境,则必须先切换到虚拟环境所在目录,并运行activate,bat,这样实在是太麻烦了;可以使用virtualenvwrapper对虚拟环境进行一些快捷的管理和操作

1.安装virtualenvwrapper

 

pip install virtualenvwrapper-win

 

 2.创建虚拟环境

  默认创建的虚拟环境位于C:\Users\username\envs,可以通过环境变量 WORKON_HOME 来定制。

  通过计算机-->属性-->高级系统设置-->环境变量-->在系统变量中新建“变量名”:WORKON_HOME,变量值:“你自定义的路径”如:E:/Envs。

  创建后,会自动激活环境,注意看Shell提示符的改变:

##mkvirtualenv envname # 生成后会自动切换到最新创建的虚拟环境中;
##在E:/Envs下创建venv虚拟环境,命令如下:
mkvirtualenv venv
(venv)c:\> #创建后,自动激活环境

 3.相关命令

##列出所有虚拟环境
lsvirtualenv

##列出所有虚拟环境
workon

##激活某个虚拟环境
workon venv(虚拟环境名)

##进入虚拟环境目录
cdvirtualenv

##进入虚拟环境的site-packages目录
cdsitepackages

##列出site-packages目录的所有软件包
lssitepackages

##停止虚拟环境
deactivate

##删除虚拟环境
rmvitualenv venv

 重建Python环境

 

1.冻结环境

  所谓冻结(freeze)环境,就是将当前环境的软件包等固定下来:

 

pip freeze >packages.txt  # 安装包列表保存到文件packages.txt中 

 

 2.重建环境

  重建(rebuild) 环境就是在部署的时候,在生产环境安装好对应版本的软件包,不要出现版本兼容等问题:

pip install -r packages.txt

   配合pip,可以批量安装对应版本的软件包,快速重建环境,完成部署。

 3.创建虚拟环境指定python版本

mkvirtualenv new_env_name --python=指定python.exe路径
# 或者
virtualenv new_env_name --python=指定python.exe路径

4.修改安装源,加速pip安装速度

pip install -r requirements-win.txt -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com

  

posted @ 2018-05-30 00:37  詹姆溪  阅读(1250)  评论(0编辑  收藏  举报