python2、3版本的比较,编辑器与ide比较与配置,虚拟环境简介

本文简述了什么是python,和python版本、包管理器,虚拟环境以及他们的比较与安装,还有如何用代码编辑器运行python,以及部分ide的介绍与安装。因为泛泛的讲述了很多东西,所以希望读者不要急于安装文件,可简单浏览本文选择适合的安装方式。

1、什么是python,以及python版本问题

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 ———百度百科

  • 先把百度百科的定义放上来,维基的后面补,根据定义大概知道了这是个什么东西,那么我们接下来讲述一下细节的分类。
  • 首先我们要知道这个语言一共有3个原生版本分别是python1,2,3。但是我们现在经常用的是python2、python3两个版本。所以问题来了python1呢?
    所以让我们先回归一下python的历史:

Python的作者是荷兰人Guido von Rossum,1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕士学位。尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。
1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。

  • 这就是python1的原型,后来几经改动形成了之后的版本,由于版本差异很大,我们需要区别对待python1,2,3。又由于python1已经很少被使用,我们就仅仅讨论一下python2、3之间的区别。当然已经又很多大佬详细的解释了区别我就不做阐述请直接看链接吧。或者直接百度求解。

  • 当然细心的读者注意到了原生版本4个字,那么不是原生版本是什么呢?

    • 这里举一个例子Anaconda。

    Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 [1] 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

python2、3版本的比较,编辑器与ide比较与配置,虚拟环境简介显而易见anaconda比python原生版本多了一些东西,看了很多博客,没有发现让人耳目一新的比较文章,那我就直接简单说两嘴,

  • 1、anaconda比python多了点东西,比如很多第三方库,基本都是科学计算的,原生是不带,但是anaconda有的,其次是有包管理器conda,原生的你可以自己选择pip或者conda作为包管理器。所以你要是用来科研或者数学计算,建议选择此版本,减少后期库的兼容问题。

在上一个稍微有点玄学的版本介绍。
https://www.cnblogs.com/fionacai/articles/5686763.html
https://www.cnblogs.com/mq0036/p/5014236.html

2、如何安装python,以及兼容多个版本

当然我们一定把事情做的漂亮,我们尝试安装python2,3两个环境在同一电脑下(win系统)。

  • 先介绍一下原生的python安装的方法,照例直接借鉴一个大佬博客。
    python2、3兼容到统一win下并且分别配置相应的pip
    https://blog.****.net/nathan8/article/details/80178114
    当然,其中还有一些我想补充的地方,
    • 1、python官网也是python下载地址www.python.org

    • 2、pip是什么以及为什么需要包管理器与虚拟环境。

    • pip 是一个现代的,通用的Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。

      这里涉及到了一个东西叫python包管理工具,那么什么是python包管理工具,以及没有这个东西会有什么问题么。
      1)python具有十分多的第三方包,也叫库,所以我们在引用第三方包时有很多不同的选择,这会让我们在实现功能时候十分的简单而优雅,为了保持我们的优雅,我们不想在管理包上浪费时间。所以我们就引进了包管理器这个东西,对于新手,我建议python第一个包管理器尝试用pip,也就是python+pip的组合。下面给出了包管理器的定义。

      包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。

      2)当然丰富的第三方包虽然有很多优点,但是还是不可避免会有一些缺点,比如,第三方包可能会互相不兼容,这时候我们就引入了虚拟环境的概念。对于新手入门我们建议从virtualenv,此处不做详细介绍,具体安装和使用可以参考以下博客。
      https://blog.****.net/godot06/article/details/81079064

      我们在此处多嘴一下conda管理python虚拟环境。为我们之后做铺垫,读者可以借助下面的链接来配置conda环境。
      https://blog.****.net/chenfeidi1/article/details/80873993
      https://blog.****.net/weixin_44144171/article/details/90052290
      但是显然我们面对的问题不像想象那么简单,很多读者应该会听过Anaconda与 Miniconda,那么我们就借助一篇大佬的博客看能不能帮你进一步了解pip、conda区别,conda、Anaconda、Miniconda的区别
      https://www.jianshu.com/p/62f155eb6ac5
      https://blog.****.net/qq_40173132/article/details/80278428
      https://blog.****.net/Qsir/article/details/79354734

    • 3 anaconda的安装与配置。

此处说明:近期(19.5.16)清华大学,上交大,中科大的镜像网站都下架了anaconda,理由如下,说白了就是让你去官网下。

中科大关于停用镜像说明
由于Anaconda的软件源设计缺陷,其缺少正常发行版软件源所包含的签名校验功能,任何非官方网站提供的软件包都有可能被篡改过,产生安全隐患。[1]
另根据Anaconda软件源上的说明,Anaconda和Miniconda是Anaconda, Inc.的商标,任何未经授权的公开镜像都是不允许的。[2][3]
出于服务质量和合规性的考虑,我们决定无限期停止Anaconda镜像服务。
为了最少限度给用户造成影响,即日起本站Anaconda镜像将被直接重定向至官方镜像仓库[4],请使用本站镜像的用户尽快更改。

清华大学停止Anaconda镜像服务
4月16日, 清华大学开源软件镜像站公告,发布了关于停止Anaconda镜像服务的通知。其表示,未能取得Anaconda和Miniconda公开镜像授权,因此决定,在取得授权之前无限期停止Anaconda镜像服务。一个月后,彻底关闭Anaconda镜像的文件下载。

当我们完成以上所有的配置的时候,我们会面对编码的问题,用什么编码成了一大难题。下面就简单讲一下编辑器跟ide了。

3、编辑器与ide

  • 1、IDIE运行
    当我们下载完python接触第一个可以打代码的地方应该是IDIE。跟matlab命令行一样,没啥可讲的,直接跳过。
    python2、3版本的比较,编辑器与ide比较与配置,虚拟环境简介

  • 2、通过cmd运行。
    但是这显然不能满足我们,所以引入第二种运行方法:cmd运行。
    https://zhidao.baidu.com/question/1510889184474081700.html
    上述方法过于麻烦,下面贴出一个简单定位到py文件夹下打开cmd的方法
    • 直接打开文件所在文件夹,在搜索栏打出cmd再敲一下回车就出来了。python2、3版本的比较,编辑器与ide比较与配置,虚拟环境简介对于怎么判断自己环境变量配置正确。看下图。
      python2、3版本的比较,编辑器与ide比较与配置,虚拟环境简介
      如果出现了版本信息就是好的。同理可以用来测试pip。
  • 3、采用代码编辑器,以notepad++为例子
    https://jingyan.baidu.com/article/d5a880eb8ce81813f047cc4b.html
  • 4、采用pycharm
    pycharm应该是目前运用最广的一款python的ide,安装方法,
    https://blog.****.net/u014044812/article/details/78727496
    感谢各位大佬的修桥搭建路,我能如此轻松的把如此复杂的东西展现出来。第一次写博客而且时间也很紧,如果有错误希望我的读者指出我的错误。谢谢。