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连接oracle数据库实例
Oct 17 Python
Python实现的下载网页源码功能示例
Jun 13 Python
python Pygame的具体使用讲解
Nov 03 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
学python爬虫能做什么
Jul 29 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
Opencv 图片的OCR识别的实战示例
Mar 02 Python
python 字典和列表嵌套用法详解
Jun 29 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 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入门之常量简介和系统常量
2014/05/12 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
js 操作符汇总
2014/11/08 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
一分钟理解js闭包
2016/05/04 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
python构建自定义回调函数详解
2017/06/20 Python
python正则实现计算器功能
2017/12/14 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
使用Python设计一个代码统计工具
2018/04/04 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
使用Python 统计高频字数的方法
2019/01/31 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
会计毕业生自我鉴定
2013/11/04 职场文书
旷课检讨书500字
2014/10/14 职场文书
实训报告范文大全
2014/11/04 职场文书
2014年销售部工作总结
2014/12/01 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript