python开发环境管理:pip和virtualenv

不同的python软件需要不同的开发环境,互相之间甚至可能有冲突,怎么处理?使用pip、virtualenv和virtualenvwrapper可以迅速的搭建、转移开发环境,并隔离冲突。

软件包管理

  • pip是easy_install的替代品,distribute是setuptools的替代品

pip使用

  • 使用参考文档为:pip
  • pip install test安装test包
  • pip list列出已经安装的包
  • pip install --upgrade test升级test包
  • pip uninstall test卸载
  • pip install test==4.4指定版本
  • pip install test>=4.4指定最小版本号
  • pip freeze > requirements.txt到处当前python环境的依赖库要求
  • pip install -r requirements.txt根据依赖文件安装库

virtualenv

  • virtualenv是用来创建独立python运行环境的工具
  • 可以创建单独的安装目录,解决了依赖项、版本和权限的问题。比如pip不需要sudo了

创建虚拟环境

  • virtualenv test
  • 命令将在当前目前下建立一个名为test的文件夹
  • 此文件夹下python环境会自动安装pip,方便安装其他程序
  • 默认将能使用系统中已经安装的包,可以使用--no-site-packages禁止

启动虚拟环境

  • source test/bin/activate
  • 启动之后,可以看到命令行头部出现(test)字样,表明启动成功

退出

  • deactivate用于退出虚拟环境
  • rm -r test用于删除虚拟环境

virtualenvwrapper

  • virtualenvwrapper是virtualenv的一个扩展,使虚拟环境的管理更加容易
  • 参考文档virtualenvwrapper

安装

  • 使用sudo pip install之后使用以下命令设置开发环境,可以将最后一行加入.bash_profile,以后就无需重复初始化了

    $ mkdir -p $WORKON_HOME
    $ export WORKON_HOME=~/Envs
    $ source /usr/local/bin/virtualenvwrapper.sh
    
  • 方便起见,直接将以下代码加入.bashrc,因为有些环境下.bash_profile不会被执行

    # 设置virtualenv 工作的目录. 我们放在用户跟目录下
    export WORKON_HOME=$HOME/.virtualenvs# ensure all new environments are isolated from the site-packages directory
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'    # use the same directory for virtualenvs as virtualenvwrapper
    export PIP_VIRTUALENV_BASE=$WORKON_HOME    # makes pip detect an active virtualenv and install to it
    export PIP_RESPECT_VIRTUALENV=true    if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then        source /usr/local/bin/virtualenvwrapper.sh
    else        echo "WARNING: Can't find virtualenvwrapper.sh"
    fi
    

常用命令

  • mkvirtualenv test创建名为test的虚拟环境
  • workon或者lsvirtualenv列出所有虚拟环境
  • workon test启动或者切换虚拟环境
  • rmvirtualenv test删除虚拟环境
  • deactivate退出

作者Focustc,来自于CSDN

python开发环境管理:pip和virtualenv相关推荐

  1. python开发环境推荐_推荐一款Python开发环境管理神器

    在 Python 开发中,有些情况下,我们可能面临在一台机器上同时安装多版本Python的需求.比如: 有多个Python项目,每个项目依赖不同的Python版本. 有一个Python项目,它需要同时 ...

  2. 安装 python 虚拟环境 > pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/报错解决办法

    安装 python 虚拟环境 > pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/报错解决办法 [root@ ...

  3. Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#

    又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了req ...

  4. Linux 下安装python软件包(pip、nose、virtualenv、distribute )

    在Python开发中为了对项目进行管理和调试,必须安装一些特定的软件包.据说业内这个叫做yak shaving-做一个很酷很绚丽的Python项目之前,必须做的一些枯燥无味的准备工作.本文介绍了set ...

  5. python多环境管理(venv与virtualenv)

    一.背景 我们经常会遇见这样的场景: 1.各个项目使用的python版本不相同 由于Python的解释器版本众多,各版本之间差异非常大.特别是python2和python3,互不兼容. 有些项目可能用 ...

  6. 拒绝conda, 用virtualenv构建多版本的python开发环境

    本文章转载自公众号 "生信码农笔记(ID:bio-coder)",已获得原作者授权. 1. 不喜欢用 conda 特别不喜欢 bioconda, miniconda, Anacon ...

  7. 使用virtualenv搭建一个干净的python开发环境

    简介 有时候在开发程序的时候会碰到一个问题,就是当我同时在开发两个应用,且两个应用需要的模块是相同的,但是版本不同,如果用pip安装的话,同时只能安装这个模块一个的版本. 这个时候就非常尴尬了,但是山 ...

  8. python如何离线安装第三方模块_扣丁学堂python开发之第三方模块pip离线安装

    扣丁学堂python开发之第三方模块pip离线安装 2018-08-14 14:02:22 747浏览 最近很多参加Python培训的同学说在学习过程中需要安装一些第三方的模块,今天小编就来给大家讲一 ...

  9. pip升级python版本_GEE学习笔记 六十八:【GEE之Python版教程二】配置Python开发环境...

    这一篇内容主要讲解两部分内容,第一部分是本地python开发环境的配置,第二部分是GEE的python开发环境配置.我这里做的所有的操作都是在我的Mac电脑上做的,Windows上操作类似,如果有不清 ...

最新文章

  1. 卷积神经网络基础:(7)经典的网络架构
  2. Ocelot(一)- .Net Core开源网关
  3. python3.70_Python3 基本数据类型
  4. Zabbix全方位告警接入-电话/微信/短信都支持
  5. 优秀!港大同济伯克利提出Sparse R-CNN: 目标检测新范式
  6. 简体中文Win7打开简体中文chm中文乱码解决方法
  7. linux下安装mongodb,以及解决安装报错问题
  8. JAVA控制台扑克牌游戏,洗牌,发牌,比较大小
  9. vue自学入门-2(vue创建项目)
  10. 稀疏向量计算优化小结
  11. (附源码)计算机毕业设计SSM保险客户管理系统
  12. 【深度相机系列二】深度相机原理揭秘--飞行时间(TOF)
  13. 2021年最近的猝死案例有点多!!!(关注我,让你活的更久一点)
  14. BCIduino整理|solidworks从“小白”到“比较精通”教程
  15. 华为机式(矩阵相乘)
  16. idea IntelliJ IDEA 2018.2.5 x64 破解
  17. 网易2018编程题之游历魔法王国
  18. 格灵深瞳IPO获同意:毛利率远高于行业均值,营收增速开始下滑
  19. 西安80坐标系转换工具
  20. 代码批量重命名图片:去掉图片名字的末尾几个字符

热门文章

  1. k8s查看pod的yaml文件_每天5分钟|轻松掌握开发工作中必会的k8s-yaml配置说明和常用命令...
  2. 谷歌地球最新host_听说《流浪地球》被豆瓣鄙视了,我们用数据看一把真相(上)...
  3. levelshifter工作原理_从滑块问题看Level Shifter中Latch的状态转换
  4. React-Native的TextInput组件的设置以及获取输入框的内容
  5. easyui datagrid java_java_easyui体系之DataGrid(4)[转]
  6. selenium 表单提交结果_了解 Selenium 定位方式
  7. 统计5个字符串回文个数c语言,第一章 字符串 – 1.5 最长回文子串 - 编程之法:面试和算法心得...
  8. C语言第一个字节地址,C语言字节对齐详解
  9. java中dao和实体类的关系_【JAVA基础】 PO、VO、BO、DTO、POJO、DAO之间的关系详解...
  10. t-sql查询where in_产品操作MySQL第7篇 – 运算符 - IN