Python学习笔记(1):Python的安装和编译环境

2a0c2fb.png#pic_center)

文章导读

 - 课程难度:★☆☆☆☆
 - 预计学习时间:1.5小时
 - 简介:本节讲解了如何通过官网和Anaconda安装Python、安装和配置相关的编译环境——Pycharm和Jupyter notebook,以及配套函数库(包)的安装方法。
保姆式的指导安装,为后续学习Python语言提供舒心的编辑环境。

一、Python的安装

1、通过官方安装Python

Python的官方网址为 https://www.python.org/
操作系统:windows10、64位
安装版本:3.9.12
下载相应版本的Python后,进行安装的流程和注意事项如下:
(1)安装首页注意选择“Add Python 3.9 to PATH
在这里插入图片描述

(2)然后可以直接选择上方的Install Now按默认配置安装,也可以选择下方的Customize installation选择个性化的选项,可选的内容主要是Optional Features页的pip以及Advanced Options页的Add Python to environment variables。一般而言,按照图中所示的方式勾选即可。等待程序安装完毕即可完成Python的安装。
在这里插入图片描述

在这里插入图片描述

2、通过Anaconda安装Python

新手建议使用这种方式安装Python。Anaconda安装和刚刚官方的Python安装一样,其中需要用户选择的主要是如下两个:
(1)在Select Installation Type界面上,选择是为自己还是所有用户安装,如果选择Just Me,则安装在个人文档路径下,如果是All Users,则安装在系统目录下,这里选择后者。
在这里插入图片描述

然后选择安装anaconda的位置
在这里插入图片描述

(2)在随后的Advanced Installation Options页面中,若Add Anaconda to the system PATH environment variable能勾上就选上,这是自动添加环境变量,若不能选择后面也会讲解如何添加环境变量。再点击“Install”便可以开始安装。
在这里插入图片描述

3、验证Python是否成功安装

无论是通过官方的Python软件还是Anaconda完成安装后,都需要验证是否安装成功。具体操作如下:
(1)打开控制台:通过win + r 快捷键打开“运行”工具,输入“cmd”后回车即可,或直接在开始菜单的搜索框搜索“cmd”或“命令提示符
在这里插入图片描述

(2)输入python,当显示出如下的结果时,表明已经进入Python的编译环境,Python安装成功。
在Python编译环境中按ctrl + z后按回车,可退出Python环境
在这里插入图片描述

同时,也可顺带验证一下我们一般安装外部库时使用的指令pip。直接在控制台输入pip即可,如果出现用法提示和指令说明,表明pip安装成功:
在这里插入图片描述

最后,通过Anaconda会同时安装jupyter notebook,这是一个接下来会常用的代码执行的开发环境,我们验证它的成功安装。在控制台下输入“jupyter notebook”并执行,如果控制台打印了如下的代码,同时出现了一个网页一样的窗口,便表明已经安装成功。
在这里插入图片描述

在这里插入图片描述
若执行jupyter notebook显示没有这个功能时,可直接利用之前所安装的pip安装这个库,在控制台下直接输入指令即可将其安装(不进入Python):

pip install jupyter

补充:当使用代理服务器时,例如连接的是公司内网时,请在IE浏览器的工具内找到Internet选项,在“连接”选项卡下进入“局域网(LAN)设置”,勾选“对于本地地址不使用代理服务器”的选项。否则尽管jupyter程序正确安装,但在生成网页时会出错
在这里插入图片描述
在这里插入图片描述

4、配置和查看环境变量

在控制台(cmd)下我们执行一个指令,实际上都是在执行一个对应名称的程序,这些程序各有其存储的位置。而环境变量大体可以理解为我们在控制台下下执行这些程序时,系统会从哪些路径里搜索它们。
若想查看环境变量的设置,我们在控制面板下,通过“系统和安全”–“系统”路径,在右侧栏的“高级系统设置”中,选中“高级”,再单击右下角的环境变量按钮查看环境变量。单击“编辑”即可分条查看环境变量的信息。其中目录的查找顺序是从上至下的。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

之前勾选的将Python加入环境变量的选项,就是将安装文件夹以及一些附属文件夹的路径添加到这里,如果在安装时忘记勾选这些选项,可以将Python重装一遍(对于Anaconda,需要将原安装路径的文件夹删除),也可以在这里补充自己所装Python的环境变量。在之后,我们也可以根据需要自行修改这些环境变量。

二、Python的开发环境

Python我们可以直接通过控制台编写程序,但是一般而言我们还是通过一些编译环境,类似于C我们曾经利用过VC++6.0一样,这里Python的使用我们主要介绍两个常用的编译环境,两者区别较大,但各有用处,一个是Pycharm,另一个是Jupyter notebook。

1、Pycharm的使用

(1)启动与创建项目

该软件可以从官方网站上下载。刚刚装完后,打开的页面如下所示,可单击“Create New Project”直接创建一个新工程,给出创建工程的路径和文件夹名称即可,后续整个工程都会存储在这个文件夹下。同时,在第一次建工程时,Pycharm会提示我们需要指定解释器,也就是我们之前安装的Python的编译环境,这里选择我们使用Anaconda安装的python解释器
在这里插入图片描述
在这里插入图片描述

接着,我们可以建立第一个Python程序,通过菜单栏上File菜单或在工程名上单击右键,选择“new”,新建一个Python文件(New菜单的选项名称为Python File)。Python文件的后缀名为.py。当文件成功地被建立后,便可在新建好的py文件内输入相应Python代码,这些代码便可执行并产出相应结果,例如我们直接编写最简单的hello world程序:

在这里插入图片描述

在.py文件中,输入代码:

print(‘Hello, World!’)

单击鼠标右键,选择Run’Test’,就可以运行Test这个项目文件了,之后在下方可观察输出的结果。上述操作可以利用Alt + Shift + F10快捷键完成。在执行了一遍当前程序后,需要重复执行本程序,可以利用Shift + F10快捷键,也可以利用右上方的绿色箭头按钮。在窗口中,可观察下方产生的控制台输出结果:
在这里插入图片描述

在这里插入图片描述

(2)基本配置

Pycharm中的一些基本设置主要是在File菜单下的Settings中实现的,也可以通过Ctrl + Alt + s打开选项窗体。在最初,可能需要调整的主要包括三个:

  • 首先是Appearance & Behavior选项下的Appearance。在UI Option选项下可以调整整个程序的外观主题(Theme),亦可调整其标题、菜单栏等等字体字号(Override defaule fonts by)。
    在这里插入图片描述

在这里插入图片描述

  • 其次是Editor菜单下的Font选项,能够选择代码的字体和字号:
    在这里插入图片描述

  • 最后是Project下的Interpreter,我们随时可以根据需求选择Pycharm编译该程序的编译环境,例如对一些项目(Project)我们需要用2.7环境,这时可以切换回去。这一点是其他做不到的。但请注意,一个项目必须全部用同一套Python编译环境,即全部都在3.9下执行、或全部在2.7下执行:
    在这里插入图片描述

在选择编译环境的这个界面的右上角有一组按钮,可以向编译环境追加新的包(加号),也可以对当前的已经安装的包进行删除(减号按钮)。例如我们单击加号的按钮,会出现一个搜索框,搜索到所需的包,单击左下角的install package,即可在Pycharm中安装所需要的包。这种方式是pip的一种替代:
在这里插入图片描述

在这里插入图片描述

2、Jupyter notebook的使用

Jupyter notebook是一个交互式的开发环境,以网页形式展现代码,其最大的不同在于它将代码分成了一个一个的块(cell),每次执行时选取特定的代码块进行执行。此前代码执行的操作的结果会予以保存、定义的对象也不会释放,可以看成是一直在一个调试过程中执行代码。其次的不同是可以在页面上同时实现文本和图像的展示,对于一般只能在类似的控制台上打印输出结果的编译软件而言也是一大优势。接下来将分别从Jupyter notebook的启动与创建项目、运行与操作技巧两个方面进行详细地讲解。

(1)启动与创建项目

打开一个Jupyter notebook需要通过控制台,在控制台输入:

jupyter notebook @FILEPATH

即可打开一个指定的文件或文件夹。FILEPATH是文件或文件夹的路径,按回车执行即可:
在这里插入图片描述
当执行的路径是一个文件夹,会出现文件的目录,执行一个ipynb文件(jupyter notebook文件的后缀名是.ipynb),则直接会打开这个文件的交互式编辑窗口。当我们执行某个文件夹时,产生的效果如下:
在这里插入图片描述
在这个页面下单击右边的New按钮,可以新建jupyter notebook文件,选择Python3选项即可,产生的新建文件如下,新建文件名字叫做Untitled,单击其名字可以立即变更文件名。文件名可以在这个文件被打开时变更,这也是jupyter notebook的一个特性
在这里插入图片描述

在这里插入图片描述

(2)运行与操作技巧

创建并打开新的项目文件后,在此对jupyter notebook程序的运行方式和操作技巧进行简单的介绍。

① 每一个代码框(英文叫做cell)是相互独立的,一次只运行一个代码框。输入相应代码后,点击上方三角和竖线的箭头执行本块代码,亦可通过Shift + Enter快捷键执行,执行输出Hello World的结果如下。执行完后,会自动定位到下一个单元格,如果没有下一个单元格,便会新建。此外,如果这个代码框执行的最后一行语句(一个对象、一个函数等)是有返回值的,即便不用print函数,也会将最后一行代码执行的结果输出出来。如果想要无需打印语句就输出多行内容,可以添加代码或更改配置:

  • 添加代码:在代码最上方添加如下代码
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all" 
  • 更改配置:
    对于 windows系统,查看路径C:\Users\xxx.ipython\profile_default下是否有名为ipython_config.py的文件,没有就新建
    在文件中输入:
c = get_config()
c.InteractiveShell.ast_node_interactivity = "all"

保存并退出,重新打开Jupyter即可。这样就可以使Jupyter对其一行上的任何变量或语句执行此操作,达到一次查看多个语句的值的效果。
② 在单元格的左边,有一个数字标记,这个数字记录了自程序被打开后,总共对代码块进行了多少次执行操作(一个代码块每执行一次计入一次)。但上次程序关闭时程序旧的计数仍被保留。所有正在或即将执行的代码,左方的显示不是数字,而是星号 *
在这里插入图片描述
③ 菜单栏常用的功能是File菜单下的Make a Copy功能,对当前程序进行一个副本,Download as,将当前编写的ipynb文件导出成其他形式;以及Edit菜单下的Find and Replace功能,对文本进行查找与替换。这个替换只针对选中单元格进行,但可以单击左边上下箭头的按钮,指示在全部单元格内进行替换
在这里插入图片描述
④ 代码框的文本类型。代码框文本类型通过工具栏的下拉菜单选择,常用的是CodeMarkdownRaw NBConvert三种:

  • Code表示文本框中是可执行的代码。
  • Markdown是标题形式的文本,当进行编辑时,前面附加若干个#作为标题级别的标注,一个#表示一级标题,两个#(“##”)表示二级标题,以此类推。但#后面必须附带一个空格,否则会被看作是单纯的文本。
  • Raw NBConvert是纯文本,这部分的代码以文本的形式展示和存储,不会执行。

⑤ 当前选中的对象。当光标点击在代码框中时,表示当前选中的是这个代码框的内部文本,按上下箭头是在代码的文本段中进行上下移动,此时选中的代码框绿色的框环绕。当光标在这个代码框以外点击、或是按ESC键时,选中的代码框环绕的线从绿色变为蓝色,指示当前选中的是这个代码框本身,此时按上下箭头是调整选中的代码框,选中再按回车可以进入对代码的编辑(绿色时回车是代码文本的换行)
在这里插入图片描述

在这里插入图片描述
与此同时,在选中的是代码框本身(即环绕的框线是蓝色)时,jupyter支持一系列快捷键(Keyboard shortcuts),按h键可对这些快捷键指令进行查看,包括Edit Mode(绿线即文本编辑)下和Command Mode(蓝线即单元格编辑)下的两套快捷键,部分功能是页面上不能通过鼠标点击使用的,对于提升工作效率有着重要意义。
在这里插入图片描述

三、包的安装与导入

Python提供了大量的函数库供用户使用,我们大部分程序都与外部库有着密切联系。因此,这里将讲解Python函数库(package)的安装与导入。

1、包的安装

在上面提到,安装一个包可以通过Pycharm。但更多的时候,我们用的还是如下两种安装方式:

(1)在控制台下利用pip install指令安装

利用pip安装包所用到文件的扩展名为.whl,常常也称为whells,即“轮子”。利用pip安装包有如下两种方式(均在控制台下操作)。同时请注意,利用pip安装包时,对于所安装的包,如果依赖包没有安装时会自行安装:
① 在线下载并安装。我们需要传递一个包的名称,通过网络自动下载当前适配的包,下载后自行安装。同时可以借助镜像加快下载速度,以防因下载超时导致失败,下面以利用豆瓣镜像下载numpy库为例:

pip install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

② 通过本地的whl文件实现Python包的安装。我们需要传递一个待安装包的whl文件,这个文件往往是手动从包的镜像站下载的。

pip install @filepath/numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl

此外,我们补充几个pip下常用的指令,上述指令基本足够我们完成基于pip的各种包安装及配置查看的任务:

pip install @PACKAGE –upgrade		# 将某个包更新至最新版本
pip uninstall @PACKAGE			# 删除某个已安装的包
pip show @PACKAGE				# 显示某个已安装包的详细信息
pip list								# 显示所有已安装的包以及版本
pip <command> --help				# 在一个指令后追加--help查看帮助信息

(2)通过setup.py文件安装

当一些包并没有打成.whl文件,而是以压缩包的形式提供下载时,我们就需要利用这种方式手动安装这些包。例如,我们对于一些下载的压缩包,解压后文件夹包含如下文件
在这里插入图片描述
通过这个setup.py文件安装这个包,步骤如下:
首先,打开控制台,进入解压缩后的文件目录下
其次,执行:python setup.py build
最后,执行:python setup.py install

当两个Python语句执行完毕之后,如果没有报错,便表示这个包安装完成。不过即使有时安装时报错,只要不是核心错误,一般也不影响程序的正确执行。两个指令执行完毕之后的控制台输出结果如下:
在这里插入图片描述在这里插入图片描述
运用以上两种方式,基本可以解决我们安装Python包部分的大部分问题。

2、包的导入

将已经安装的包导入到当前的Python环境中是我们使用各种包的前提。具体有如下三种使用情景:

(1)import ...

导入一个Python包使用import语句,例如在程序中执行:

import numpy

之后,我们可以利用类方法,对numpy中的类方法进行调用,例如我们利用它的.sum()函数,对一个列表进行求和:

print(numpy.sum([1, 2, 3])) 		# 利用numpy对列表求和

输出结果如下:

6

(2)import ... as ...

上面是最为基本的包导入方式。但一般我们不这么写,而是结合asfrom关键字。首先介绍as。在import导入一个包之后,可以利用as附加一个名字,形式如:

import @PACKAGE as @NAME

此后导入的这个包,便不用原名称进行包内的方法调用,而是用后面所给的别名,例如对于numpy,我们在导入时常给的别名是np,此时导入这个包及调用的形式如下:

import numpy as np
print(np.sum([1, 2, 3]))

输出结果如下:

6

(3)from ... import ...

利用from语句,直接导入某个库中的某个函数。例如,我们导入一个建立numpy 数组(ndarray对象)的函数:

from numpy import array	 # 从numpy库中导入名为array的函数
array([1, 2, 3])

对于结合from关键字的导入,继续的补充的有两点:
一是,如果利用from进行导包,必须用完整的包名,使用缩略包名则会报错:

import numpy as np				# 此前导入过numpy,取别名为np
from np import array			# 失败。尝试用缩略形式np导入array函数

二是,用 * 导入一个库中的所有函数:

from numpy import *

这样的话,所有numpy里面的包都会被导入。但有时可能会导致一些内置的方法,例如sum等被覆盖。因为这种方式导入了所有函数而且可能覆盖原有方法,因此只在一些特定情况下使用。
一般而言,我们对于一些包有基本固定的导入和命名方式,例如对于numpypandas,我们一般用如下方法导入:

import numpy as np
import pandas as pd

随着阅读和编写Python代码经验的逐渐丰富,对这部分的应用会逐渐熟练、知识会逐渐丰富起来。
在本节之后,我们将会正式开始对Python语法和各类工具进行逐步讲解。


对于缺乏Python基础的同仁,可以通过免费专栏🔥《Python学习笔记(基础)》从零开始学习Python

结语

请始终相信“Done is better than perfect” ,不要过分追求完美,即刻行动就是最好的开始, 一个模块一个模块地积累和练习,必将有所收获。
还有其他的问题欢迎在评论区留言📝!


[版权申明] 非商业目的注明出处可自由转载,转载请标明出处!!!
博客:butterfly_701c

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一门高级编程语言,它是一种动态类型、面向对象的语言,支持多种编程范式。Python在科学计算、数据分析、人工智能等领域有广泛的应用,越来越受到业界的关注。Python还有一个优点就是其灵活的扩展性,可以通过编写扩展模块来增强Python的功能。 编写一个Python扩展模块,需要先了解一下Python的C API,这是Python提供的一套C语言的API接口,可以用于编写Python扩展模块或者嵌入Python到其他应用程序中。扩展模块也可以用其他语言如C++、FORTRAN等编写,只要是遵循Python的C API规范即可。 编写Python扩展模块,可以使用Python自带的distutils模块来进行构建和安装。该模块可以用setup.py脚本来配置扩展模块的编译参数、依赖库等,并可以生成可执行文件或者扩展模块所需的动态链接库等文件。 下面是一个简单的Python扩展模块的例子,该模块可以计算两个数字的乘积: // test_module.c #include <Python.h> static PyObject* multiply(PyObject* self, PyObject* args) { int x, y; if (!PyArg_ParseTuple(args, "ii", &x, &y)) { return NULL; } return Py_BuildValue("i", x * y); } static PyMethodDef TestModuleMethods[] = { {"multiply", multiply, METH_VARARGS, "Returns the product of two integers."}, {NULL, NULL, 0, NULL} }; static struct PyModuleDef test_module = { PyModuleDef_HEAD_INIT, "test_module", "A test module that multiplies two integers", -1, TestModuleMethods }; PyMODINIT_FUNC PyInit_test_module(void) { return PyModule_Create(&test_module); } 在该模块中,我们定义了一个multiply函数,用于计算两个整数的乘积。该函数采用Python提供的PyArg_ParseTuple函数解析函数的输入参数,然后返回乘积。我们还定义了一个TestModuleMethods数组,它是一个PyMethodDef结构体的数组,里面记录了我们定义的函数的名称、函数指针、函数的参数类型等信息。最后我们使用PyModule_Create函数生成一个Python模块对象并返回。 我们需要将上面的代码保存到test_module.c文件中,并使用如下命令来构建并安装该模块: $ python setup.py build $ python setup.py install 在安装完成后,我们可以在Python解释器中使用该模块: >>> import test_module >>> test_module.multiply(10, 20) 200 编写Python扩展模块是一项有趣的工作,它可以让我们深入了解Python的内部机制,并且可以为我们解决一些实际问题带来便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值