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 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
使用python编写android截屏脚本双击运行即可
Jul 21 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 Python
python 调用c语言函数的方法
Sep 29 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
python对常见数据类型的遍历解析
Aug 27 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
Python使用BeautifulSoup4修改网页内容
May 20 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实现的CSS更新类实例
2014/09/22 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php邮件发送的两种方式
2020/04/28 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
django输出html内容的实例
2018/05/27 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
Django model class Meta原理解析
2020/11/14 Python
毕业生找工作推荐信
2013/11/21 职场文书
教师专业自荐信
2014/05/31 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
基层党支部承诺书
2015/04/30 职场文书
社区敬老月活动总结
2015/05/07 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书