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的Django框架中的QuerySets
Apr 20 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
python连接数据库的方法
Oct 19 Python
python爬取酷狗音乐排行榜
Feb 20 Python
python中for循环把字符串或者字典添加到列表的方法
Jul 20 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
keras-siamese用自己的数据集实现详解
Jun 10 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
浅谈Python中的函数(def)及参数传递操作
May 25 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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简单创建压缩图的方法
2016/08/24 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
js 字符串操作函数
2009/07/25 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
基于Python闭包及其作用域详解
2017/08/28 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
Python Subprocess模块原理及实例
2019/08/26 Python
python使用建议与技巧分享(一)
2020/08/17 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
学生励志演讲稿
2014/01/06 职场文书
房地产开盘策划方案
2014/02/10 职场文书
大学生就业策划书范文
2014/04/04 职场文书
激励口号大全
2014/06/17 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
后进生评语大全
2015/01/04 职场文书
离职感谢信
2015/01/21 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技