当前位置: 首页 > news >正文

python三大神器_Python三神器之virtualenv、virtualenvwrapper

virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:

在没有权限的情况下安装新套件

不同应用可以使用不同的套件版本

套件升级不影响其他应用。

安装方法

1、shell下运行:

pip install python-virtualenv

2、使用方法

virtualenv [虚拟环境名称-也是目录名称]

3、启动环境

cd ENV

source ./bin/activate

ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去。

默认情况下,虚拟环境会依赖系统环境中的site packages,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境:

virtualenv --no-site-packages [虚拟环境名称]

4、退出

deactivate

如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

或者让在执行pip的时候让系统自动开启虚拟环境:

export PIP_RESPECT_VIRTUALENV=true

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

将所有虚拟环境整合在一个目录下

管理(新增,删除,复制)虚拟环境

快速切换虚拟环境

...

安装方法

1、运行

pip install virtualenvwrapper

2、创建目录用来存放虚拟环境

mkdir ~/.virtualenvs

3、在.bashrc中添加

export WORKON_HOME=~/.virtualenvs

source /usr/local/bin/virtualenvwrapper.sh

4、运行: source ~/.bashrc

此时virtualenvwrapper就可以使用了。

命令列表

workon:列出虚拟环境列表

lsvirtualenv:同上

mkvirtualenv :新建虚拟环境

workon [虚拟环境名称]:切换虚拟环境

rmvirtualenv :删除虚拟环境

deactivate: 离开虚拟环境

相关文章:

  • 单学python能找工作吗_我为什么推荐学Python,但不希望大家用Python找工作?
  • python整数类型进制表示_Python数据类型:bytes
  • scada schneider 系统_【原创分享】小白也能DIY物联网系统,程序设计来了!
  • python程序设计试卷_Python程序设计试题库
  • python nameerror错误_python - python regex错误:NameError:未定义名称“ re” - 堆栈内存溢出...
  • 用自底向上算法为一组整数构造一个大根堆。_Polyhedral编译调度算法(1)——Pluto算法...
  • ftp文件夹错误 windows无法访问此文件夹_ftp根目录怎么设置,ftp根目录怎么设置,详细设置方法...
  • 无法列入分布式事务处理_浅谈分布式数据库中的事务
  • 如何用python进行相关性分析_Python 相关性分析 显著性检验
  • idea maven search for class_Maven是什么?为什么使用
  • tensorflow contrib模块_OpenCV DNN 模块-风格迁移
  • python人脸检测代码_10行代码实现python人脸识别
  • python正则表达式教程_Python正则表达式高级使用方法汇总
  • js修改style样式_jsx组件样式隔离的最佳实践
  • 易语言和python混合编程_C语言可以和Python一起混合编程?两者相加无敌了!
  • HTTP 简介
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Laravel5.4 Queues队列学习
  • MySQL的数据类型
  • PAT A1120
  • React中的“虫洞”——Context
  • Redis中的lru算法实现
  • Vue ES6 Jade Scss Webpack Gulp
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从零开始学习部署
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 工作手记之html2canvas使用概述
  • 如何选择开源的机器学习框架?
  • 入口文件开始,分析Vue源码实现
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Semaphore
  • #大学#套接字
  • $.proxy和$.extend
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (一)认识微服务
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET下ASPX编程的几个小问题
  • @Autowired自动装配
  • @ConditionalOnProperty注解使用说明
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [2]十道算法题【Java实现】
  • [20150707]外部表与rowid.txt
  • [Android Pro] AndroidX重构和映射
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [bzoj4240] 有趣的家庭菜园