前言: 前一阵子至少指导了
5
位学弟学妹小伙伴配置 python 环境。两年前我入门 python 时,也得照着互联网上的资料,一步一步“照猫画虎”;为什么现在自己可以“凭感觉”一气呵成了呢?我想,原因必然是自己对于编译过程等知识有所了解。本文将用白话讲解 python 编译运行过程(计算机如何看懂并执行我们写的代码的),引出配置环境的原理,让大家从此告别“教程”,以后可以随心配置任何的语言环境。
文章章节:
•1 “远古时代”,程序猿都要用“命令行”•2 我们安装的 python
程序实际上就是一个编译器,将我们的代码转换成机器能看懂的机器码•3 配置环境,实际上就是为了让计算机可以随时随地运行编译器
•4 拓展:编译器和编辑器有本质区别,我们需要一个能帮助我们偷懒的“编辑器”
1 “远古时代”,程序猿都要用“命令行”
在七八十年代,电脑还并未像现在这么普及,原因除了当时的电脑又贵性能又低之外,还因为其学习成本太高:因为人们需要使用“命令行”(也叫控制台、终端)来操作,而非鼠标 图形界面。
所谓命令行,就是通过输入命令,来控制计算机
。尽管现在你可以使用鼠标和图形界面做很多事,但是对于写程序的同学来讲,时至今日,命令行依然有着鼠标无可比拟的优势,比如减少重复命令与操作便捷等等
。(你可以使用 Win R
,并输入cmd
来启动 windows 中的命令行)
如上图,我的命令行进入了C:UsersDellDesktopshow
这个路径(你可以把“路径”理解为文件夹),在这个文件夹里,有一个视频文件叫做1.mp4
,此时我们输入这个文件的名字并回车,则相当于使用鼠标双击了这个视频文件,将其打开。
了解了“命令行”这个概念,我们再来看看计算机为什么能看懂我们写的代码?
2 我们安装的 python
程序实际上就是一个编译器,将我们的代码转换成机器能看懂的机器码
编程语言有很多分类维度:
•静态型、动态型;•强类型、弱类型;•编译型、解释型。
我们没必要陷入“哪个好”的纠结中,毕竟,绝大部分编程语言的诞生都来自特定的需求与时代背景。换句话说,编程语言五花八门,却各有千秋。
但是,编程语言都离不开如下原则:
•编程语言是人类写出来的,是用于命令机器的工具,因此其本身具有逻辑性;•机器看不懂什么逻辑性,只看得懂0101010
或者说为地址0xFFFF赋值0x3AB2
这样的“鬼话”;•因此,任何编程语言都需要有一个“人话到鬼话的转换过程”
,才能执行。
以C
语言为例,我写一个程序放在C:UsersDellDesktopshow
,程序叫做cppHello.cpp
:
#include <stdio.h>
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:UsersDellDesktopshow
文件夹下并没有 python.exe
或者 g .exe
这样的程序呀!为什么我可以运行 [g 文件名] 而不报错呢?
这就牵扯到【环境配置】这个过程了:配置了环境,我们的电脑才可以随时随地(在任何路径下)运行类似g 或者python这样的编译器。
3 配置环境,实际上就是为了让计算机可以随时随地运行编译器
配置环境的过程各个“教程”几乎都一样:
•右键“我的电脑”;•“高级系统设置”;•高级-“环境变量”;•“新建”。
(当然,现在 Anaconda 有了 add to path
选项,可能自动为我们进行这一步)
这一步是什么意思呢?
•我们使用命令行进入任何一个文件夹,敲入命令,比如1.mp4
;•此时计算机将寻找该文件夹下有没有这个1.mp4
程序;•没有的话,计算机进入“环境变量”进行寻找,有的话,执行,再没有的话,报错。
比如,我将放置了 1.mp4
的文件夹 C:UsersDellDesktopshow
添加为系统变量,如下图。
随后,我就可以在任何一个文件夹中调用C:UsersDellDesktopshow
中的任何文件了。比如,我打开一个新命令行,进入一个空文件夹,输入1.mp4
,也能打开1.mp4
这个视频!
那么,我们所谓“配置语言环境”,其目的就是为了让电脑能在任何时候都调用python
这样的编辑器。因此,我们只需将放置 python
的文件夹作为一个新的系统变量即可。
你会发现,无论是你从官网下载 python
还是 Anaconda
;安装后都会有个文件夹里有 python.exe
以及 pythonw.exe
这样的文件。那么我们要做的,自然就是将这个文件夹放进系统变量。
由此,我们的“安装语言”/“配置环境”工作完成。你会发现,其逻辑和步骤其实都非常简单,用不着别人手把手教。只有两步:
•下载编译器并安装,可以是 python.org 上的原生 python ,也可以是 Anaconda ;•配置环境,让计算机可以随处运行你的 python 编译器,将你写的 某某.py
文件编译成机器码,并且执行。
C
、java
等一众语言,同理。
4 拓展:编译器和编辑器有本质区别,我们需要一个能帮助我们偷懒的“编辑器”
编译器是什么,前文已讲过;那么编辑器呢?
所谓编辑器,就是方便程序员写代码的东西,本质上是文本编辑器。
诚然,有了编译器,你用记事本写代码都可以,反正编译器编译后,大家都是一样的机器码;但是在追求效率的21世纪,好的文本编辑器带来的效率收益可以是次方数量级的。
编辑器我推荐自己最喜欢的 VS Code ,轻量可扩展。我将在以后根据需求为小白进行讲解。
先把环境配置好吧!祝顺利!