前言: 前一阵子至少指导了5位学弟学妹小伙伴配置 python 环境。两年前我入门 python 时,也得照着互联网上的资料,一步一步“照猫画虎”;为什么现在自己可以“凭感觉”一气呵成了呢?我想,原因必然是自己对于编译过程等知识有所了解。本文将用白话讲解 python 编译运行过程(计算机如何看懂并执行我们写的代码的),引出配置环境的原理,让大家从此告别“教程”,以后可以随心配置任何的语言环境。

文章章节:

•1 “远古时代”,程序猿都要用“命令行”•2 我们安装的 python 程序实际上就是一个编译器,将我们的代码转换成机器能看懂的机器码•3 配置环境,实际上就是为了让计算机可以随时随地运行编译器•4 拓展:编译器和编辑器有本质区别,我们需要一个能帮助我们偷懒的“编辑器”

1 “远古时代”,程序猿都要用“命令行”

在七八十年代,电脑还并未像现在这么普及,原因除了当时的电脑又贵性能又低之外,还因为其学习成本太高:因为人们需要使用“命令行”(也叫控制台、终端)来操作,而非鼠标+图形界面。

所谓命令行,就是通过输入命令,来控制计算机尽管现在你可以使用鼠标和图形界面做很多事,但是对于写程序的同学来讲,时至今日,命令行依然有着鼠标无可比拟的优势,比如减少重复命令与操作便捷等等。(你可以使用 Win+R,并输入cmd来启动 windows 中的命令行)


如上图,我的命令行进入了C:\Users\Dell\Desktop\show这个路径(你可以把“路径”理解为文件夹),在这个文件夹里,有一个视频文件叫做1.mp4,此时我们输入这个文件的名字并回车,则相当于使用鼠标双击了这个视频文件,将其打开。

了解了“命令行”这个概念,我们再来看看计算机为什么能看懂我们写的代码?

2 我们安装的 python 程序实际上就是一个编译器,将我们的代码转换成机器能看懂的机器码

编程语言有很多分类维度:

•静态型、动态型;•强类型、弱类型;•编译型、解释型。

我们没必要陷入“哪个好”的纠结中,毕竟,绝大部分编程语言的诞生都来自特定的需求与时代背景。换句话说,编程语言五花八门,却各有千秋。

但是,编程语言都离不开如下原则:

•编程语言是人类写出来的,是用于命令机器的工具,因此其本身具有逻辑性;•机器看不懂什么逻辑性,只看得懂0101010或者说为地址0xFFFF赋值0x3AB2这样的“鬼话”;•因此,任何编程语言都需要有一个“人话到鬼话的转换过程”,才能执行。

C++语言为例,我写一个程序放在C:\Users\Dell\Desktop\show,程序叫做cppHello.cpp

#include int main(){    printf("Hello, PiperLiu! This is C++.");    return 0;}

然后命令行中:

•输入g++ cppHello.cpp,表示使用 g++ 编译器对这个 cpp 文件进行“转换”;这个步骤后,该文件夹下就多了一个a.exe文件,这个文件是g++这条命令生成出来的,只有电脑能看懂并执行;•输入 a.exe ,你可以看到程序执行,如下图。


对于我们今天的主角 python 而言,输入 python 文件名 就可以实现编译+运行的功能。我们管这种能把“人话转换成到鬼话”的工具叫做编译器。对于 C++ 来讲,这个编译器可以是 g++ ,对于 python 来讲,它是 python 。

但是,我们的C:\Users\Dell\Desktop\show文件夹下并没有 python.exe 或者 g++.exe 这样的程序呀!为什么我可以运行 [g++ 文件名] 而不报错呢?这就牵扯到【环境配置】这个过程了:配置了环境,我们的电脑才可以随时随地(在任何路径下)运行类似g++或者python这样的编译器。

3 配置环境,实际上就是为了让计算机可以随时随地运行编译器

配置环境的过程各个“教程”几乎都一样:

•右键“我的电脑”;•“高级系统设置”;•高级-“环境变量”;•“新建”。

(当然,现在 Anaconda 有了 add to path 选项,可能自动为我们进行这一步)

这一步是什么意思呢?

•我们使用命令行进入任何一个文件夹,敲入命令,比如1.mp4;•此时计算机将寻找该文件夹下有没有这个1.mp4程序;•没有的话,计算机进入“环境变量”进行寻找,有的话,执行,再没有的话,报错。

比如,我将放置了 1.mp4 的文件夹 C:\Users\Dell\Desktop\show 添加为系统变量,如下图。


随后,我就可以在任何一个文件夹中调用C:\Users\Dell\Desktop\show中的任何文件了。比如,我打开一个新命令行,进入一个空文件夹,输入1.mp4,也能打开1.mp4这个视频!

那么,我们所谓“配置语言环境”,其目的就是为了让电脑能在任何时候都调用python这样的编辑器。因此,我们只需将放置 python 的文件夹作为一个新的系统变量即可。

你会发现,无论是你从官网下载 python 还是 Anaconda ;安装后都会有个文件夹里有 python.exe 以及 pythonw.exe 这样的文件。那么我们要做的,自然就是将这个文件夹放进系统变量。

由此,我们的“安装语言”/“配置环境”工作完成。你会发现,其逻辑和步骤其实都非常简单,用不着别人手把手教。只有两步:

•下载编译器并安装,可以是 python.org 上的原生 python ,也可以是 Anaconda ;•配置环境,让计算机可以随处运行你的 python 编译器,将你写的 某某.py 文件编译成机器码,并且执行。

C++java等一众语言,同理。

4 拓展:编译器和编辑器有本质区别,我们需要一个能帮助我们偷懒的“编辑器”

编译器是什么,前文已讲过;那么编辑器呢?

所谓编辑器,就是方便程序员写代码的东西,本质上是文本编辑器。

诚然,有了编译器,你用记事本写代码都可以,反正编译器编译后,大家都是一样的机器码;但是在追求效率的21世纪,好的文本编辑器带来的效率收益可以是次方数量级的。

编辑器我推荐自己最喜欢的 VS Code ,轻量可扩展。我将在以后根据需求为小白进行讲解。

先把环境配置好吧!祝顺利!

g++ 安装python_以后再也不用“教程”:让人举一反三的python配置环境过程 + 超简单原理概括!...相关推荐

  1. 以后再也不用看“教程”!概括【配置环境】的原理,小白也能举一反三的python配置环境过程!

    前言: 前一阵子至少指导了5位学弟学妹小伙伴配置 python 环境.2年前我入门 python 时,也得照着互联网上的资料,一步一步"照猫画虎":为什么现在自己可以"凭 ...

  2. 爱迈分享 海量淘宝天猫优惠券网站微信公众号自主搜索 再也不用加入烦人的QQ微信群了

    关注微信公众号"爱迈分享"或者扫西边二维码,大家可以自己输入相关信息搜索海量第一手淘宝内部优惠券 或者电脑访问 www.imaimaimai.cn 再也不用加入各种QQ优惠券群了, ...

  3. python画熊猫头_超简单的熊猫头简笔画原创教程步骤

    导读:小编根据大家的需要整理了一份关于<超简单的熊猫头简笔画原创教程步骤>的内容,具体内容: 熊猫生活在海拔2600-3500米的茂密竹林里,那里常年空气稀薄,云雾缭绕,气温低于20℃.那 ...

  4. g++ 安装python_卧槽,又一款Python神器

    写Python代码最头疼的两件事是什么? 我总结了两点 1.Windows 平台安装第三方包经常失败的问题,还记得第一次安装mysql依赖包时的那个场景吗?怎么都装不上. 2.虚拟环境切换的问题,如果 ...

  5. 怎么安装python_零基础入门必看篇:浅析python,PyCharm,Anaconda三者之间关系

    今天为大家带来的内容是:零基础入门必看篇:浅析python ,PyCharm,Anaconda三者之间关系 众所周知,Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C, ...

  6. Centos7 yum安装Python3.6环境,超简单

    原文链接:https://blog.51cto.com/wenguonideshou/2083301 配置好Python3.6和pip3 安装EPEL和IUS软件源 yum install epel- ...

  7. pythonweb搭建教程_基于Centos搭建Python Web 环境搭建教程

    CentOS 7.2 64 位操作系统 安装 setuptools 工具 安装 因为之后我们需要安装 Django ,而 Django 需要用这个工具,所以我们需要先安装 setuptools 工具. ...

  8. deepin efi 启动u盘_如何安装Deepin国产操作系统?只需一个U盘就够了,超简单

    2019年快结束了,距离微软对Win7系统停止服务的日期也是越来越近了.与此同时,人们对国产操作系统的热度和期望值也是越来越高.在诸多国产操作系统中,Deepin系统是目前知名度最高的一个,而且无论在 ...

  9. OPPOR9Android 6.0过程,超简单 OPPOR9升级Android 6.0系统 详细教程

    网络配图OPPOR9可以说是红火半片天,前段时间O粉还在为OPPO放弃R9愤怒呢,这不就在昨天OPPO官方社区OS产品经理若雨菲菲刚刚发布了OPPOR9全网通基于Android 6.0的ColorOS ...

最新文章

  1. docker load 出错 open /var/lib/docker/tmp/docker-import-837327978/bin/json: no such file or directory
  2. NLP(Natural Language Processing)
  3. 技术流 | 手把手教你用Python设计一个命令行界面
  4. 【PAT乙级】1029 旧键盘 (20 分)
  5. android应用框架搭建之BaseActivity
  6. java main启动spring_gradle 搭建springMVC项目,main函数启动
  7. 1024看到这篇文章的程序员,能不能把你的电脑桌面右下角截图回复
  8. 23种设计模式之命令模式
  9. Tiny210 编译Linux3.0.8
  10. 列表操作 - C#开发人员
  11. 模数转换实验中断方式c语言,DSP实验报告--模拟信号的AD+FFT变换
  12. swift. 扩展类添加属性_Swift快速为类扩展属性
  13. c++求几个数的最大公约数_最大公约数,最小公倍数 A3
  14. 应用统计学学什么科目_应用统计学考研科目及总数
  15. 入门HTML之表格属性bgcolor background bordercolor(light dark)
  16. [心得]AUP Unix编程艺术知识整理
  17. 2022CTFSHOW菜狗杯部分MISC(二)
  18. 微信小程序开发VIP商城项目
  19. python 循环写文件_循环-读写文件-字符编码
  20. item_search_img - 按图搜索淘宝商品(拍立淘)

热门文章

  1. primefaces_PrimeFaces Mobile入门
  2. jboss 4.3.0_JBoss BPM Suite 6.0.3版本的5个实用技巧
  3. osgi架构与linux_OSGi:进入微服务架构的门户
  4. 组织机构代码输入测试用例_测试代码以用于过大的输入
  5. 用于混合Spock 1.x和JUnit 5测试的Maven项目设置
  6. JMetro版本5.3已发布
  7. jedis与redis_Redis与Jedis排序
  8. Java中的Fork / Join框架的简要概述
  9. 堆栈溢出回答了我们不知道的Java首要问题
  10. Spring Cloud –基本设置