Python作为深度学习和人工智能学习的热门语言,学习一门语言,除了学会其简单的语法之外还需要对其进行运行和实现,才能实现和发挥其功能和作用。下面来介绍运行Python代码常用到的工具总结。

一.Python、Pycharm、Anaconda关系介绍

1. Python

Python是一种跨平台的计算机程序语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,被用于独立的、大型项目的开发。

Python是我们进行项目开发而使用的一门计算机语言,通俗来说就是编写代码,编写完代码之后,我们就需要运行,不然代码是死的,机器是无法识别的,这时我们需要运行Python代码的运行环境和工具。

我们可以使用以下四种方式来python代码,前提是我们已经下载好了Python解释器,下载链接https://www.python.org/getit/,下载后配置好其系统环境变量,解释器的作用就是帮助我们将Python代码解释成机器可以识别成的语言,交给机器可以执行的工具。

(1)在命令窗口上运行

快捷键 Win+ R —> 输入cmd 到命令窗口—> 命窗口内输入python,我们就可以运行程序了。

(2)脚本方式运行
新建一个a.txt脚本文件,写完脚本之后, 然后把名称后缀命名为.py,到 命令窗口找到相应的文件目录,然后执行代码 python a.py,就可以运行了。

(3)使用Python自带的IDLE编辑器

IDLE是Python原生自带的开发环境,是迷你版的IDE,与以上方式不同的是它带有图形界面,有简单的编辑和调试功能,但是操作起来比较麻烦。使用方式 Win+ R—> 输入IDLE。

(4)使用第三方的Python的IDE 相对于Python自带的IDLE而言,功能更加全面,界面更加美观,操作起来更加容易。目前比较流行的有PyCharm、Vscode、Jupyter等,个人推荐使用Pycharm,目前使用最多。

2. Pycharm

PyCharm是一种常用的Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发,界面编写代码和运行操作更加简单。界面如下:

3. Anaconda

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

  • Anaconda包括Conda、python以及一大堆安装好的工具包比如:numpy、pandas等。
  • Miniconda只包括Conda、Python,是Anaconda的简约版。
  • conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。

二.开发常见搭配

只学习python语言的初学者可以先下载好特定版本的Python解释器后,然后再搭配界面程序Pycharm来进行简单的语法学习和项目调试,因为不需要考虑不同项目需要不同python工具包的版本问题。即:Python解释器 + Pycharm。

而要进行项目开发的人员,时常有多个项目同时开发,并且不同的项目需要不同版本的工具包,这时使用Anaconda可以帮助我们管理更多项目的环境,将每个项目单独放在一个虚拟环境中,并且使这些环境中工具包相互独立,不会产生工具包版本冲突问题,并且可以下载多个版本的工具包,可以安装多个不同版本的Python解释器。Anaconda自带Python解释器,即:Anaconda + Pycharm。

三.总结

Python是我们进行项目开发而使用的一门计算机语言,为了更好的调试代码和运行,使用界面程序Pycharm进行操作,而运行环境和工具包的下载与安装可以由Anaconda进行管理。

更多有关python、深度和计算机编程的精彩内容,可以关注我的微信公众号:

学习python你必须弄懂的 Python、Pycharm、Anaconda 三者之间的关系的更多相关文章

  1. 一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系

    以下内容都是针对Pytorch 1.0-1.1介绍. 很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握 ...

  2. 【编码】彻底弄懂ASCII、Unicode、UTF-8之间的关系

    计算机中的所有字符,说到底都是用二进制的0.1的排列组合来表示的,因此就需要有一个规范,来枚举规定每个字符对应哪个0.1的排列组合,这样的规范就是字符集. ASCII 全称是“美国信息交换标准码”(A ...

  3. 我终于弄懂了Python的装饰器(一)

    此系列文档: 1. 我终于弄懂了Python的装饰器(一) 2. 我终于弄懂了Python的装饰器(二) 3. 我终于弄懂了Python的装饰器(三) 4. 我终于弄懂了Python的装饰器(四) 一 ...

  4. 我终于弄懂了Python的装饰器(二)

    此系列文档: 1. 我终于弄懂了Python的装饰器(一) 2. 我终于弄懂了Python的装饰器(二) 3. 我终于弄懂了Python的装饰器(三) 4. 我终于弄懂了Python的装饰器(四) 二 ...

  5. 我终于弄懂了Python的装饰器(四)

    此系列文档: 1. 我终于弄懂了Python的装饰器(一) 2. 我终于弄懂了Python的装饰器(二) 3. 我终于弄懂了Python的装饰器(三) 4. 我终于弄懂了Python的装饰器(四) 四 ...

  6. Python中序列解包与函数的参数收集之间的关系

    在<第4.7节 Python特色的序列解包.链式赋值.链式比较>中老猿介绍了序列解包,<第5.2节 Python中带星号的函数参数实现参数收集>介绍了函数的参数收集,实际上函数 ...

  7. 弄懂 JRE、JDK、JVM 之间的区别与联系

    其实很多 Java 程序员在写了很多代码后,你问他 jre 和 jdk 之间有什么关系,jvm 又是什么东西,很多人不知所云.本篇不会讲述 jvm 底层是如何与不同的系统进行交互的,而主要理清楚三者之 ...

  8. Struts2学习(四)———— ognl表达式、值栈、actionContext之间的关系

    一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任意属性,简单说就是对javabean进行操作(重要) 2.调用 ...

  9. python学习笔记:第17天 面向对象03 类与类之间的关系

    一.类与类之间的依赖关系 ⼤千世界, 万物之间皆有规则和规律. 我们的类和对象是对⼤千世界中的所有事物进⾏归类. 那事物之间存在着相对应的关系. 类与类之间也同样如此. 在⾯向对象的世界中. 类与类 ...

随机推荐

  1. Bytom侧链Vapor源码浅析-节点出块过程

    Bytom侧链Vapor源码浅析-节点出块过程 在这篇文章中,作者将从Vapor节点的创建开始,进而拓展讲解Vapor节点出块过程中所涉及的源码. 做为Vapor源码解析系列的第一篇,本文首先对Vap ...

  2. 牛客 51011 可达性统计(拓扑排序,bitset)

    牛客 51011 可达性统计(拓扑排序,bitset) 题意: 给一个 n个点,m条边的有向无环图,分别统计每个点出发能够到达的点的数量(包括自身) \(n,m\le30000\). 样例: 10 1 ...

  3. leetcode刷题笔记-3. 无重复字符的最长子串(java实现)

    题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "ab ...

  4. C#LeetCode刷题之#62-不同路径(Unique Paths)

    目录 问题 示例 分析 问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3680 访问. 一个机器人位于一个 m x ...

  5. JavaScript Object的defineProperty / getOwnPropertyDescriptor

    getOwnPropertyDescriptor and defineProperty function def (obj, key, val, enumerable) { Object.define ...

  6. oracle中表加锁死锁的现象、原因及解决方案

    一.表加锁.死锁出现的现象 1.对数据库操作update.insert.delete时候,数据库无法更新,操作等待时长,操作结果不发生改变: 2.在程序中,底层(数据访问层)操作时候不成功,数据库连接 ...

  7. mysql-5.7.xx在lcentos7下的安装以及mysql在windows以及linux上的性能差异

    前言: 在centos上安装mysql,整整折腾了将近一天,因为是第一次安装,的确是踩了不少坑,这里详细记录下来,方便各位有同样需求的小伙伴参考. 该选择什么版本? mysql5.7有很多小版本,但是 ...

  8. Android 用空格作为分割符切割字符串

    项目中有需要用到空格作为分割符切割字符串,进而转为List. String wordStore = edWord.getText().toString(); String[] word = wordS ...

  9. Oracle和Mysql分页的区别

    一.Mysql使用limit分页 select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize PS: (1)第一个参 ...

  10. SQL关键字的执行顺序

    1.Mysql执行顺序,即在执行时sql按照下面的顺序进行执行: from on join where group by having select distinct union order by 2 ...