• Python虚拟环境配置应用


           Python好用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便Python使用者直接使用,此外,还有virtualenv、pyenv等工具管理虚拟环境。

            我们在实际使用中往往自己的不同项目会用到不同的Python版本和同一个包的不同版本,确实很令人头疼,不过不用着急,虚拟环境很好的为我们解决了这一难题,在这一片文章中我会总结结合Python开发中IDE里面的扛把子——pycharm来使用的两种虚拟环境管理工具——Virtualenvwrapper和anaconda。

    首先,搞清楚几个概念:

    Anaconda概述

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

    这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

    这里先说一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

    virtualenv

    virtualenv 是一个可以在同一计算机中隔离多个python版本的工具。有时,两个不同的项目可能需要不同版本的python,如 python2.7/ python3.5 ,但是如果都装到一起,经常会导致问题。所以需要一个工具能够将这两种或几种不同版本的环境隔离开来,需要哪个版本就切换到哪个版本做为默认版本。virtualenv 既是满足这个需求的工具。它能够用于创建独立的Python环境,多个Python相互独立,互不影响。

    virtualenvwrapper

    virtualenvwrapper是virtualenv的扩展管理包,用于更方便管理虚拟环境,它可以做:
    1、将所有虚拟环境整合在一个目录下
    2、管理(新增,删除,复制)虚拟环境
    3、切换虚拟环境

           关于Virtualenvwrapper和anaconda的安装配置教程,网上有太多太多的,我在自己的其他博客中也有提到,这里就不做赘述啦,只谈正题。

    好啦,现在开始打开pycharm开始干活。

    我们先随便新建一个名为“test”的项目:

    下面选择解释器,在选择解释器的时候,我们就可以用Virtualenv和conda来创建虚拟环境,或是利用他们已经创建好的虚拟环境

    我们先选择conda方式来创建:

    这样就可以创建项目喽!

    我们再使用virtualenv来创建:

    这里有几点说明:

    Name中填写新虚拟环境的名字,或者使用默认名字,方便以后安装第三方包和其他项目使用;
    在Location中填写新环境的文件目录;
    在Base interpreter下拉框中选择Python解释器;
    勾选Inherit global site-packages可以使用base interpreter中的第三方库,不选将和外界完全隔离;
    勾选Make available to all projects可将此虚拟环境提供给其他项目使用。

    使用Python一定要用好虚拟环境,pycharm真的是太赞啦,直接给集成了两大虚拟环境配置工具,省去了很多步骤。

  • 相关阅读:
    Animate.css 一款强大的预设css3动画库
    关于js返回上一页的实现方法
    jquery判断字符串中是否包含特定字符的方法总结
    去掉select在苹果手机上的原生样式
    html5中如何去掉input type date默认样式
    JS和jQuery中ul li遍历获取对应的下角标
    滚动一定的高度底色递增
    喵哈哈村的狼人杀大战(5)
    喵哈哈村的狼人杀大战(2)
    One Card Poker
  • 原文地址:https://www.cnblogs.com/mmz-tester/p/14340362.html
Copyright © 2020-2023  润新知