Python虚拟环境virtualenv的安装与使用详解


Posted in Python onMay 28, 2017

前言

动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于Python2的环境中运行,而项目B可以在基于Python3的环境中运行。Python通virtualenv工具管理虚拟环境。

安装 virtualenv

$ pip install virtualenv

使用方法

$ cd my_project_folder
$ virtualenv venv

执行完命令后它会在当前目录下创建文件夹,这个文件夹包含一些Python执行文件,以及pip副本,用于安装其他的packges。

.
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── easy_install
│ ├── easy_install-3.5
│ ├── pip
│ ├── pip3
│ ├── pip3.5
│ ├── python -> python3
│ ├── python3
│ ├── python3.5 -> python3
│ └── wheel
├── include
│ └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m
└── lib
 └── python3.5

此外在创建env的时候可以选择指定的Python解释器,例如下面是基于Python3创建的虚拟环境

$ virtualenv -p /usr/local/bin/python3 venv

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

virtualenv --no-site-packages [虚拟环境名称]

激活虚拟环境

cd env
source ./bin/activate

激活成功后,在命令行会显示虚拟环境的名称,类似((env)Your-Computer:your_project UserName$)

退出虚拟环境

$ deactivate

如果想删除虚拟环境,那么直接运行rm -rf venv/命令即可。

在虚拟环境安装Python packages

Virtualenv 附带有pip安装工具,因此需要安装的packages可以直接运行:

pip install [套件名称]

如果没有启动虚拟环境,系统环境也安装了pip工具,那么packages将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

如果在没开启虚拟环境时运行pip,就会提示错误:

Could not find an activated virtualenv (required).

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

      1. 将所有虚拟环境整合在一个目录下

      2. 管理(新增,删除,复制)虚拟环境

      3. 切换虚拟环境

      4. ...

安装Virtualenvwrapper

安装Virtualenvwrapper前需要virtualenv已近安装

$ pip install virtualenvwrapper

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。

1、创建目录用来存放虚拟环境

mkdir $HOME/Envs

编辑~/.zshrc或~/.bashrc(根据你使用shell类型决定)

export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 运行:

$ source ~/.zshrc

此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:

1、列出虚拟环境列表

workon 或者 lsvirtualenv

新建虚拟环境

mkvirtualenv [虚拟环境名称]

2、启动/切换虚拟环境

workon [虚拟环境名称]

3、删除虚拟环境

rmvirtualenv [虚拟环境名称]

4、离开虚拟环境,和virutalenv一样的命令

deactivate

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家三水点靠木的支持。

Python 相关文章推荐
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
Python 面试中 8 个必考问题
Nov 16 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python读写配置文件操作示例
Jul 03 Python
Django MEDIA的配置及用法详解
Jul 25 Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 Python
Python assert关键字原理及实例解析
Dec 13 Python
Python TKinter如何自动关闭主窗口
Feb 26 Python
用 Python 制作地球仪的方法
Apr 24 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 Python
浅析Python的命名空间与作用域
Nov 25 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
python 调用win32pai 操作cmd的方法
May 28 #Python
Python 稀疏矩阵-sparse 存储和转换
May 27 #Python
Django基础之Model操作步骤(介绍)
May 27 #Python
python之PyMongo使用总结
May 26 #Python
Python3安装Pymongo详细步骤
May 26 #Python
Python计时相关操作详解【time,datetime】
May 26 #Python
Python表示矩阵的方法分析
May 26 #Python
You might like
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
2010/01/17 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
Python深入学习之内存管理
2014/08/31 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
python实现超级马里奥
2020/03/18 Python
python求解汉诺塔游戏
2020/07/09 Python
Python代码注释规范代码实例解析
2020/08/14 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
劳资人员岗位职责
2013/12/19 职场文书
小学家长会邀请函
2014/01/23 职场文书
优秀经理获奖感言
2014/03/04 职场文书
禁毒心得体会范文
2016/01/15 职场文书
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL