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 相关文章推荐
python中的对象拷贝示例 python引用传递
Jan 23 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
dataframe设置两个条件取值的实例
Apr 12 Python
Python continue继续循环用法总结
Jun 10 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
Numpy之reshape()使用详解
Dec 26 Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
Python错误的处理方法
Jun 23 Python
基于pytorch中的Sequential用法说明
Jun 24 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
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
Yii框架安装简明教程
2020/05/15 PHP
js遍历td tr等html元素
2012/12/13 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
聊聊Python中的pypy
2018/01/12 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
对python中各个response的使用说明
2020/03/28 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
大学毕业感言
2014/01/10 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
前台文员职责范本
2014/03/07 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
草房子读书笔记
2015/06/29 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Springboot中如何自动转JSON输出
2022/06/16 Java/Android
Java获取字符串编码格式实现思路
2022/09/23 Java/Android