辛丑壬辰月残,韶阳有倒春寒,遁入广厦身渐暖,一众阔论高谈。
身心不待宁静,偷暇览罢文刊,再整机仪解重难,且待四方来赞。
按照我的习惯,开篇先念几句定场诗,一阙西江月奉上。不过也不知道为什么,我好像特别喜欢西江月这个词牌。感觉挺上口。每次填词都会优先想到西江月,填词也非常顺,仔细想想,好像从小到大读过听过的宋词也都是西江月居多。当然这都是题外话,有点扯远了。今儿呢我是要开一个系列教程,来写一下我眼中的Python
学习路线。
其实要说起来Python
的教程去网上一搜可以说是浩如烟海。对的不对的,半吊子的,什么乱七八糟的不计其数。但是网上教程虽然说那么多,但是我都不太满意。讲得枯燥乏味,老生常谈,没有什么意思。在当今这个快节奏而又十分浮躁社会,大家都是很难静下心来看书学习的,我相信没有人会愿意来看那些枯燥的计算机编程知识。即便强迫自己看了,用不了多久也就会忘记。那么来尝试一下我的法子吧。看看这门语言,是不是真的像网上的教程一样枯燥。
话分两头,您上眼,我这篇文章呢是中文来写的,理论上中文写的话呢,我应该放在秋城夜话,但是我说过,秋城夜话这个网站我是不会拿来写任何跟技术以及工作相关的东西的。既然是技术贴,那当然要放在技术贴应该呆的地方。但是这里我虽然很不愿意打破全英文编辑的规矩,但是谁让我英语水平差呢。而且之前都放了中文版简历上来了,规矩早就已经打破了,那就老老实实写吧,这些都不重要。
看到这是不是想骂我,狗东西废话怎么这么多,赶紧说重点好不好啊。好啦,天也不早了,人也不少了,是鸡也不叫了,狗也不咬了。紧打家伙当不了唱,烧热的锅台也当不了炕。废话少说,咱们是书归正传。这废话就不少了,您瞧当玩儿600
多字就过去了。
环境篇
既然学习Python
首先Python
的开发环境还是要安排好的。至于您又问了,什么是Python
的开发环境呀?怎么说呢,打个比方吧,比如我这边有一个空房间。这个空房间呢就是一个环境,因为是空房间,所以我愿称之为空环境
。但是如果我给这个房间支了一个灶台,通了水电燃气,买好厨具,安了油烟机,然后专门用来做饭,那么这个房间就不能叫空环境了。因为这个房间就该叫厨房了。
我所说的Python
开发环境也可以这么类比,我们的电脑可以看作一个空环境,当我们在电脑里安装了Python
之后,这个电脑就相当于我们把一个空房间给装修了并且规划好了用途。这个时候我们就可以说,这台电脑有了Python
环境。没错,Python
其实也就是一个软件,是需要我们来安装的。那么接下来我们就说一说Python
的安装。
我其实是认识很多Python
开发工程师的,他们之中有很多人都会为了图省事儿直接选择安装一个叫Anaconda
的东西。因为用这个玩意儿就一键安装就行了,什么都不管不顾。但是我是很不支持这种方法的。因为这个玩意儿实在是太流氓了,堪比360.所以我们就按照传统的方法来走一遍。
版本选择
安装Python
我们是要先从官网下载安装包的。但是Python
经过这么多年的发展与更新迭代,在官网上存在着很多版本。其实选择一个正确的版本是很重要的。
当我们打开Python
官网之后会看见下图这样的界面。将鼠标移到Downloads
上时可以在我框选的地方来选择下载Windows系统版本
或者Mac OS系统版本
的Python
安装包。但是我打了这个大红叉的地方不要点,这里是我们这些普通开发者所谓的雷区,里面或许会有各种各样的凭我们自己没有办法解决的坑。
当我们选好了系统点击之后就是接下来的界面。我现在用的是Windows
系统,我就以Windows
为例吧。下图的界面就是Python
的历史版本列表了。我们可以看见一共有两列。左边的Stable Releases
是Python
的稳定版本,而右边的Pre-releases
这一列则是Python
的预发行版。
我不知道其他公司是怎么要求的,但是据我的工作经验来说我们安装Python
的要求是必须安装稳定版,并且不允许低于3.6.0
版本,但是与此同时不允许安装最新版本。我经过测试目前3.7
或者3.8
版本都是 OK 的。
安装篇
我在挑选好版本之后马上要下载安装包的时候发现,这个版本下面怎么还有这么多这是什么呀。我到底该点哪一个链接。
呐~ 就是上面这个图这样咯。如果电脑是64
位就点击我框起来的64
位系统的那个链接。32
位就点击我框起来的32
位系统的那个链接。不过我盲猜一波现在应该没有人在用32
位系统了吧。
当我们下载完安装包之后直接双击打开,开始安装。话说为什么我都说了这么多了到现在连安装Python
都还没说完啊,唉……我这废话也真的是太多了。我尽量马上结束掉安装这个环节,好我们开始安装了。双击打开下载好的安装包之后就是这样。
其实也没有什么需要注意的。像上面这张截图,记得要勾选上那个Add Python 3.7 to PATH
,这样的话可以省掉很多麻烦。如果不勾选的话,后面需要自己手动完成这个操作。就像给我们所说的的那个空房间装修一样,师傅们问要不要顺便把水电燃气给通了。那我们肯定选择要的,不然的话装修完了我们还是要手动自己去通的,太麻烦。
还有一点是什么呢,就是千万别直接去点Install Now
,不然会直接安装到C盘
。所以我们直接点击Customize installation
,就会进入到下图所示的界面。然后直接点击Next
就行。
我们终于来到这一步了,到了这一步离安装成功就差一层窗户纸了,直接捅破了它,咱们结束安装。没错,这里我们把安装路径改一下其他的什么都不用管,然后点击Install
,正式开始安装。这个时候我们为什么不起来点杯奶茶呢?反正只要等安装的进度条走完就行了。
等到安装程序提醒我们安装完成之后就可以直接关掉这个窗口了。这个时候我愿称这台电脑为有Python
环境的电脑。但是,接下来要做的事儿是很重要的。
虚拟环境篇
其实我作为一个Python
开发,我最烦的其实就是Python
的环境。其实这个虚拟环境是指什么呢,既然我们安装了Python
之后不就相当于有了Python
环境了嘛,这个虚拟环境又是什么呢?别着急,听我慢慢说。
比如说还是这么一个空房间。这个房间有100平。但是我总不能整个100平的房间就做一个厨房出来呀,也太暴殄天物了。老爷子要是看见我把一套100平的毛坯就装修成一个厨房,那还不得架锅把我给炖了啊。既然这样这套100平的空房间我们肯定就要规划好,这里是厨房,这里是卫生间,这里是客厅,这里是卧室。然后这些所有规划好的房间都公用同一套水电系统。
虚拟环境其实就和这个类似。比如我今天启动了一个项目,这个项目需要某些条件。一个月之后,我又参加了一个新项目,而新项目所需要的条件和上一个项目所需要的条件完全不一样。为了方便管理,那我们就把电脑里这个拥有的一套公共Python
环境作为源头,然后基于这个源头来创建出多个有不同用途的环境来供我们使用。
那么我们要怎么来创建虚拟环境呢?接下来,我们来熟悉一下几个东西。
win
键- 命令行窗口
pip
包管理工具
为什么说要熟悉这几个东西呢。因为这几个东西将会是打开Python
世界大门的钥匙。
win键
win
键是Windows
系统电脑呼出开始菜单的键,在键盘上的布局在Ctrl
键和Alt
键之间,不过我没有用Mac
装过Windows
系统,所以也不知道Mac
上的键位是怎么映射的,不过应该不是Command
键就是Option
键。毕竟功能键就那么几个,试一下就行了。但是我为什么要说win
键呢。在Windows
系统中我们需要用组合快捷键来完成命令行窗口的呼出。我们按下win + R
组合快捷键就可以调出运行窗口
然后输入cmd
再按回车就可以打开命令行窗口。
命令行窗口
打开命令行窗口之后,我们需要学会几个指令:
cd
命令cd/d
命令
cd
命令是在命令行窗口中来进入某个文件夹或者某个文件夹路径的。而cd/d
命令呢则是可以跨盘符来进入某个文件夹或者文件夹路径。具体是什么意思呢,你看下面这张图。
我在D盘
的Documents
文件夹里有other
、ppt
、word
三个文件夹。但是在命令行窗口里面我们是不能用鼠标去点击的。毕竟叫命令行窗口嘛。那么我想在命令行窗口里面进入word
文件夹该怎么操作呢。
只需要cd word
这么一个短短的命令就可以了。如果我们想要返回到上一层级的文件夹,只需要在命令行里输入cd ..
然后按下回车就可以回到上一层级的文件夹了。但是如果我们现在在Documents
文件夹里,我想直接近到word
文件夹里的work
文件夹该怎么做呢?难倒要输两次命令吗?也太麻烦了。就像去商场里,我们不能一直坐扶梯一层一层上楼啊。cd
命令当然是可以支持直接进入路径的。就像这样:只要一条命令cd word\work
就可以直接像坐垂梯一样进行直达操作。
但是既然这样有cd
命令不就够了嘛,为啥还要有一个cd/d
啊?其实在Windows
系统中有一个大家都很常见的概念,就是硬盘分区。也就是大家打开此电脑
里面看见的C盘
、D盘
、E盘
什么的,而cd
命令是不能直接在各个不同盘之间来做切换的,比如像下图一样。
就想图里展示的这样,我直接用cd
命令来切换的话是没有成功的。但是如果我用cd/d
命令的话就可以完成切换。
这就是目前我们对命令行窗口所需要了解的两个命令,其他的目前还用不到,等用到了再慢慢介绍吧。
pip包管理工具
其实Python
这门语言在使用起来是挺方便的,究其原因之一就是这玩意儿的第三方库(包)太多而且太好用了。这方面的大牛们也不计其数,很多大牛会把各种功能全部封装成一个个包发布到平台上供大家使用。
可能说到这或许你依然不知道pip
包管理工具是啥。这么说吧,依然还是那个大房子,现在你也已经把房规划好了,装修方案也设计好了,家具也挑好了。接下来,那就是装修了啊,为这个房子规划的各个家电,家具,每一块地砖都相当于是一个个包,而你请来的装修工人们就相当于包管理工具。因为装修工人们可以根据需求来给你安装和摆放家具。
只有说pip
包管理工具怎么用呢,其实pip
包管理工具其实也就是一行命令。最常用的方法就两个:
pip list
pip install <包的名称>
前面我们也已经说了一点命令行窗口的基本用法了,那么接下来让我们在命令行窗口中使用pip
包管理工具。如下图所示。我们先打开命令行窗口,输入命令pip list
按下回车键,就会列出当前环境下已经安装的包。因为这是一个新装好的主环境,所以这个环境里面我并没有安装什么包。
接下来我们需要来讲一下pip install
这个命令,在讲这个命令之前我们先做一个准备工作。因为pip
包管理工具默认是要从pypi.org上面来下载并安装我们指定的包的。但是这个网站在国内速度特别慢,经常出现下载失败的情况。这就好比拿蜡烛烧一大锅水,可能锅还没烧热,蜡烛先用完了。但是我们也不是没有办法,蜡烛烧水不行,那我们就直接把锅架炉子上呗。接下来我们就先把我们的炉子点着。
首先我们先进到C盘
进入C:\Users\用户名
这个目录,然后按照图里那样吧隐藏选项勾选上。
这下我们就可以在当前目录里面找到一个叫AppData
的文件夹,然后我们双击进入AppData
,再双击进入AppData
文件夹里面的Roaming
文件夹。
再然后呢,我们要在Roaming
文件夹里面新建一个叫pip
的文件夹。然后在双击进到pip
文件夹里面。然后新建一个pip.txt
文件,再把下面这几行内容复制到pip.txt
里面然后保存。但是光这样还不行,我们要把pip.txt
的名字改成pip.ini
这样我们再用pip install
命令的话就不会像原来那么慢了。
[global] timeout = 6000 index-url = https://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com
那么准备工作做完了,我们就干正事吧,接下来我们就用pip install
命令来安装虚拟环境创建工具,在命令行窗口中输入命令:pip install virtualenv
然后按下回车键等待下载安装。
到了这一步我们看见提示已经安装成功了,执行一下pip list
来验证一下是不是真的安装成功了。从下图可以看出现在比原来多出了很多包,而且virtualenv
也已经安装成功了,但是我们明明只安装了一个virtualenv
为啥会多出来这么多呢。因为这些多出来的都是virtualenv
这个包的依赖。就好比你跟我说你想吃糖醋排骨了。那我往锅里放得东西除了糖、醋和排骨以外当然还要有葱、姜、八角、酱油、盐等等乱七八糟的调料。
其实到这里pip
的日常基本用法就这么着就可以了。可是你以为我仅仅只是为了说pip
吗?我也是疯了,一个包工头我有什么可说的。回头想想,我是不是要说虚拟环境来着。没错,安装好了虚拟环境的创建工具接下来就是创建虚拟环境啊。不然我们安装创建工具干什么呢?但是创建虚拟环境要明确一点,你的虚拟环境准备在哪里创建。比如我想在D盘
创建我的虚拟环境,那么打开命令行窗口之后,第一件事就是先进入D盘
。但是怎么进入呢?没错,一条命令,直接执行cd/d D:
命令就可以进入D盘
了,然后执行virtualenv <虚拟环境名称>
命令,然后就可以等待创建完成了。
上图就是创建完成之后的样子。这样一个崭新的环境就已经创建好了。但是创建好了,我们是要使用的,需要激活这个虚拟环境的。但是使用这个虚拟环境用两种方式,我们现在先讲其中一种,另外一种,我们后面再说。今天讲的这个是在命令行里来激活虚拟环境。因为我们用pip
安装包的话是需要在命令行里面执行命令的。但是如果不在命令行里激活我们创建好的虚拟环境的话,那么pip就没有办法把我们要用的包安装到虚拟环境中去。就好比你要把门口的快递搬到房间里去,但是你没有开门的钥匙。那肯定是不行的。
不过呢在命令行里面激活虚拟环境是比较容易的。第一步,你要记得你的虚拟环境是在哪里创建的。比如你是在D盘
创建的虚拟环境,那么你打开命令行之后的第一步就是进入到D盘
然后执行<虚拟环境名称>\Scripts\activate
命令就可以激活虚拟环境。
像上图这样就已经完成了虚拟环境的激活。从下图中可以看见当前环境和之前的主环境完全不同,接下来在当前状态便可以用pip
来安装需要的包了。
至此,Python
教程破冰篇就告一段落了。在下一篇我们开始介绍一下Python
的基础语法,IDE
以及另一种使用虚拟环境的方法。
Copyright statement:The articles of this site are all original if there is no special explanation, indicate the source please when you reprint.
Link of this article:https://work.lynchow.com/article/python_before_one/