Deepin中安装与使用virtualenv的教程
virtualenv是一个用来创建隔离的python虚拟环境的工具。它可以在一个独立的目录创建自己的python环境,使用virtualenv运行的程序,并不会访问全局的python环境,也不会访问不属于自己目录的python环境,这样就可以起到隔离python环境的作用。
安装virtualenv
在开发Python应用程序的时候,所有第三方的包都会被pip安装到Python的site-packages目录下。且只能安装一个版本,因此,如果我们要同时开发多个应用程序,这些应用程序都共用一个Python,但是不同的应用程序依赖的第三方包的版本不一样时,就会比较难处理。
这种情况下,可以通过virtualenv来为每个应用创建一套“隔离”的Python运行环境。这样各应用依赖的第三方包就可以互不影响。
首先,我们用pip安装virtualenv:
sudo pip3 install virtualenv
注意: 一定要用管理员权限安装,否则会提示找不到virtualenv。
创建虚拟环境
安装完virtualenv后,就可以通过命令行创建一个虚拟环境。例如:
virtualenv --no-site-packages .venv
通过这个命令就可以在当前目录下新建一个名为.venv的目录,这个目录下就是新创建的虚拟Python运行环境。加上参数–no-site-packages表明不需要复制已经安装到系统Python环境中的所有第三方包。
使用虚拟环境
虚拟环境需要通过source命令进入。
source .venv/bin/activate
执行命令后可以看到命令提示符有个(.venv)前缀,表示当前正在使用名为.venv的Python虚拟环境。
indoors31@indoors31-PC:~/Documents/Workspace/Hello$ source .venv/bin/activate (.venv) indoors31@indoors31-PC:~/Documents/Workspace/Hello$
退出虚拟环境
通过deactivate可以退出当前使用的虚拟环境。
(.venv) indoors31@indoors31-PC:~/Documents/Workspace/Hello$ deactivate indoors31@indoors31-PC:~/Documents/Workspace/Hello$
安装virtualenvwrapper
使用virtualenv需要进入相对应的路径,且linux和windows下的使用有些区别,可以通过使用virtualenvwrapper来简化对虚拟环境的操作。
安装步骤:
sudo pip3 install virtualenvwrapper
mkdir $HOME/.virtualenvs 保存虚拟环境的目录
vim ~/.bashrc
添加命令如下:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
保存退出,执行 source ~/.bashrc
使用virtualenvwrapper
可以通过mkvirtualenv命令创建虚拟环境:
mkvirtualenv .venv
执行后就会在刚才的 WORKON_HOME 所设置的目录下创建名为 .venv 的虚拟环境并且自动进入。
与virtualenv一样,使用deactivate命令退出虚拟环境。
退出后再次进入虚拟环境不需要像virtualenv那样去寻找路径,直接可以使用workon命令就进入虚拟环境:
workon .venv
virtualenvwrapper的其它命令r
- mvirtualenv ENV 删除运行环境ENV
- mkproject hello 创建hello项目和运行环境hello
- mktmpenv 创建临时运行环境
- lsvirtualenv 列出可用的运行环境
- lssitepackages 列出当前环境安装的包
总结
以上所述是小编给大家介绍的Deepin中安装与使用virtualenv的教程,希望对大家有所帮助!
- Silverlight单元测试
- Silverlight:页面/控件继承的二种写法
- java学习:Hibernate入门
- Silverlight Telerik控件学习:GridView双向绑定
- XmlWriter/XmlReader示例代码
- Silverlight Telerik控件学习:RadComboBox之自动完成(AutoComplete)
- Silverlight Telerik控件学习:数据录入、数据验证
- AI与自动驾驶
- python多线程学习笔记(超详细)
- Silverlight Telerik控件学习:RadTransitionControl
- Silverlight Telerik控件学习:弹出窗口RadWindow
- Andrew Ng机器学习课程笔记--week6(精度&召回率)
- Andrew Ng机器学习课程笔记--week5(下)
- silverlight: "[HtmlPage_NotEnabled] 调试资料字符串不可用"的解决
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Yii Framework框架使用PHPExcel组件的方法示例
- thinkphp3.2.3框架动态切换多数据库的方法分析
- 安装docker和docker-compose实例详解
- 如何判断php复选框是否被选中
- php实现的生成排列算法示例
- php多进程应用场景实例详解
- Linux Crontab Shell脚本实现秒级定时任务的办法
- laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
- yii框架使用分页的方法分析
- Linux服务器间文件实时同步的实现
- TP3.2.3框架文件上传操作实例详解
- yii2.0框架场景的简单使用示例
- Laravel5.6框架使用CKEditor5相关配置详解
- 怎么在Linux中自定义bash命令提示符
- Hbase入门详解