python虚拟环境virtualenv的使用教程


Posted in Python onOctober 20, 2017

virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

安装

pip install virtualenv

基本使用

1.为一个工程创建一个虚拟环境:

$ cd my_project_dir
$ virtualenv venv#venv为虚拟环境目录名,目录名自定义

virtualenv venv 将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv )可以是任意的;若省略名字将会把文件均放在当前目录。

在任何你运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 venv 的文件中。

你可以选择使用一个Python解释器:

$ virtualenv -p /usr/bin/python2.7 venv   # -p参数指定Python解释器程序路径

这将会使用 /usr/bin/python2.7 中的Python解释器。

 2.要开始使用虚拟环境,其需要被激活:

$ source venv/bin/activate

从现在起,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开。

像平常一样安装包,比如:

$ pip install requests

3.如果你在虚拟环境中暂时完成了工作,则可以停用它:

$ . venv/bin/deactivate

这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。

要删除一个虚拟环境,只需删除它的文件夹。(执行 rm -rf venv )。

这里virtualenv 有些不便,因为virtual的启动、停止脚本都在特定文件夹,可能一段时间后,你可能会有很多个虚拟环境散落在系统各处,你可能忘记它们的名字或者位置。

virtualenvwrapper

鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。

安装virtualenvwrapper(确保virtualenv已安装)

pip install virtualenvwrapper
pip install virtualenvwrapper-win#Windows使用该命令

安装完成后,在~/.bashrc写入以下内容

export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh 

第一行:virtualenvwrapper存放虚拟环境目录

第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh

source ~/.bashrc
#读入配置文件,立即生效

virtualenvwrapper基本使用

1.创建虚拟环境 mkvirtualenv

mkvirtualenv venv

这样会在WORKON_HOME变量指定的目录下新建名为venv的虚拟环境。

若想指定python版本,可通过"--python"指定python解释器

mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv

2. 基本命令  

查看当前的虚拟环境目录

[root@localhost ~]# workon
py2
py3

切换到虚拟环境

[root@localhost ~]# workon py3
(py3) [root@localhost ~]#

退出虚拟环境

(py3) [root@localhost ~]# deactivate
[root@localhost ~]#

删除虚拟环境

rmvirtualenv venv

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 错误和异常小结
Oct 09 Python
使用Python中的greenlet包实现并发编程的入门教程
Apr 16 Python
Python中的rjust()方法使用详解
May 19 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 Python
python快排算法详解
Mar 04 Python
pytorch自定义初始化权重的方法
Aug 17 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
Python环境搭建之OpenCV的步骤方法
Oct 20 #Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 #Python
python中的计时器timeit的使用方法
Oct 20 #Python
浅谈Python peewee 使用经验
Oct 20 #Python
Python 获得13位unix时间戳的方法
Oct 20 #Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 #Python
Python WXPY实现微信监控报警功能的代码
Oct 20 #Python
You might like
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
利用php输出不同的心形图案
2016/04/22 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
canvas实现钟表效果
2017/02/13 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
Python读写ini文件的方法
2015/05/28 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
python实现简单井字棋游戏
2020/03/04 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
python中pdb模块实例用法
2021/01/15 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
三峡导游词
2015/01/31 职场文书
小学三年级作文之写景
2019/11/05 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
vue实现移动端div拖动效果
2022/03/03 Vue.js
海弦WR-800F
2022/04/05 无线电