{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Python 安装与配置\n", "\n", "本文介绍了编程语言 [Python](https://www.python.org/),主要面向 Windows 用户。但 Python 的绝大部分的用法对 macOS 与 Linux 用户也是一样的。\n", "\n", "本章主要介绍:\n", "\n", "- Python 安装时的版本选择\n", "- 如何配置一个编辑器(以 VS Code 为例)\n", "- 怎样通过 pip 命令安装 Python 的外部库" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 安装\n", "\n", "本节介绍 Python 的安装。结论写在前面:建议安装最新或次新的 64 位版本。比如,如果最新的稳定版本是 3.8.x,可以安装该 3.8.x 版本,或者安装 3.7 中版本号最大的稳定版。\n", "\n", "安装 Python 有两种重要的途径:\n", "\n", "1. (个人推荐)直接前往官网安装 Python,然后根据需要自己安装库与包,并选用自己喜欢的编辑器来执行 Python 代码。一般来说,编辑器的扩展性比 IDE 更强,下文会介绍如何在 [VisualStudio Code](https://code.visualstudio.com/download) 编辑器中配置和使用 Python。\n", "2. 选择 Python 的集成开发环境(IDE),比较著名的有:人称最强 Python IDE 的 [PyCharm](https://www.jetbrains.com/pycharm/download/) 、倾向于数据科学的 [Annoconda](https://www.anaconda.com/products/individual) 等等。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 如何选择 Python 版本" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "重要\n", "\n", "本文只介绍 Python 3。原则上不再推荐使用 Python 2,因为它已于 2020 年 1 月 1 日停止维护。\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Python 的版本一直在更新,不过对一般用户来说核心功能并没有太大的变化。最近的一次有影响力的改动大概是在 3.6 版本引入了 f-string,并没有对普通用户而言特别大的改动。\n", "\n", "本文撰写时,使用的 Python 版本是:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python 3.8.3\n" ] } ], "source": [ "!python -V" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我始终**建议读者尽量安装最新的 Python 版本**,除非新版本的库尚未跟上。我个人一般推崇的版本选择方式步骤:\n", "\n", "1. 前往 Python 官网,查看最新的(稳定版的)版本号 `3.x.y`;\n", "2. 如果 `y<=1`,建议安装 `3.(x-1)` 版本;如果 `y>=2`,一般认为可以安装该版本 `3.x.y`。\n", "\n", "例如,如果 Python 最新的版本是 3.8.0,一般来说这时候一些主要的库可能尚未支持 3.8,因此我仍推荐安装 3.7 版本;如果最新的稳定版已经到了 3.8.3,这时候绝大部分的库已经跟上,那么安装 3.8.3 即可。\n", "\n", "当然,小心总无大错。如果你准备使用一些非常重要的库,请在安装 Python 前先查询这些库支持的 Python 版本。\n", "\n", "附上 3.8.0~3.8.5 版本 Python 的迭代日期,便于读者对 Python 的稳定版发布间隔有个大致的概念:\n", "\n", "- 2019.10.19 - Python 3.8.0\n", "- 2019.12.18 - Python 3.8.1\n", "- 2020.02.24 - Python 3.8.2\n", "- 2020.03.10 - Python 3.7.7,这是上个版本的更新\n", "- 2020.05.13 - Python 3.8.3\n", "- 2020.06.27 - Python 3.7.8,这是上个版本的更新\n", "- 2020.07.13 - Python 3.8.4\n", "- 2020.07.20 - Python 3.8.5\n", "\n", "可以看到,越靠后的版本,间隔的时间越短(也越不会包含重要的变化)。我是在初代版本 `3.8.0` 发布后 5 个月(即 2020 年 3 月)转到 3.8.2 的,之前我一直使用的是 3.7.x 的版本。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 如何选择 32 位还是 64 位版本\n", "\n", "我个人**始终建议安装64位版本**。有一些库对 32 位版本 Python 的支持并不好(甚至根本不支持),著名的机器学习库 [Pytorch](https://pytorch.org/) 就是一个例子。\n", "\n", "- 要安装 64 位版本的 Python,请前往[官网下载页面](https://www.python.org/downloads/windows/),选择其中标有“x86-64”的进行下载。比如,若要安装 3.8.2,可以选择下述三个中的任意一个:\n", " - Download Windows x86-64 embeddable zip file:(不推荐)Zip 版本。\n", " - Download Windows x86-64 executable installer:完整的离线安装文件。\n", " - Download Windows x86-64 web-based installer:在线安装文件,安装时需要连接到互联网。\n", "- 如需安装 32 位版本的 Python,对应选择“x86”的条目即可。\n", "\n", "您可以在命令行中输入 `python` 来检查是否是 64 位版本,例如:\n", "```\n", "Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32\n", "...\n", "```\n", "该返回信息的 `(AMD64)` 表示您安装的是 64 位版本;否则,您安装的是 32 位版本。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 与 VS Code 协同\\*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "重要\n", " \n", "本节是选读章节,因为这只是我个人推荐的一种方式。如果您选择了安装 IDE 或其他编辑器,则可以跳过此节。\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "下面是如何(在 64 位 Windows 10 平台)安装 Python 与 VS Code,以便能在 VS Code 编辑器中直接编写、运行于调试 Python 的一般步骤。\n", "\n", "### 下载与安装 Python\n", "\n", "1. 首先,前往官网下载安装 [64 位的 Python](https://www.python.org/downloads/windows/)(推荐),选择哪个版本请参考上文中关于 `3.x.y` 如何选择的说明。\n", "\n", " 这里以 `3.8.3` 为例,下拉找到 `Python 3.8.3` (注意:不是 `3.8.3rc`;rc=Release Candidate,表示候选版本而非正式版本),点击其下的 `Download Windows x86-64 executable installer` 来下载 exe 安装文件。\n", "2. 运行该 exe 文件。您可以自定义 Python 的安装路径,其他的选项不必更改。\n", "3. 安装完毕后,打开命令行(键盘 `Win + X` 再按 `I`),输入 `python` 并按回车,您应当能看到类似下方的字样:\n", " \n", " ```\n", " PS C:\\Users\\wklchris> python\n", " Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32\n", " Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n", " >>>\n", " ```\n", " **注意**:首行行末尾的括号中的 `AMD64` 表示您安装的是 64 位的版本。\n", "\n", " - 如果您在命令行中输入 python 显示错误,请将 Python 的安装路径加入 `PATH` 环境变量。\n", " - 如果您在命令行中输入 python 调用的不是您想要的 Python 版本,这可能是因为:\n", " \n", " - 您下载了错误的安装包,或者\n", " - 您在系统上安装了多个版本的 Python。\n", " \n", " 您可以在 `PATH` 环境变量中,将刚安装的 Python 路径挪到顶部来使用新安装的 Python。\n", "4. 在 `>>>` 提示符右侧,输入 `exit()` 并回车以退出 Python 而回到命令行;或者,也可以按 `Ctrl + C` 来强行打断。 \n", "5. 您已完成 Python 的安装。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 安装与配置 VS Code\n", "\n", "在安装好 Python 之后,可以继续 VS Code 的安装与配置工作\n", "\n", "1. 前往 [VisualStudio Code](https://code.visualstudio.com/download) 下载。\n", "2. 安装过程略,没有特别需要注意的项。\n", "\n", "安装完毕后,打开 VS Code,现在来安装 Python 插件:\n", "\n", "1. 如果您的 VS Code 的界面语言不是中文,请按 `Ctrl + Shift + P` 调出 VS Code 检索框,并输入 `language`,然后选中 `Configure Display Language` 来配置界面语言。\n", " - 点击后,您会看到一个语言列表,上面列出了所有本地可用的界面语言。选择其中的 `zh-cn` 即可。\n", " - 如果您的本地可用语言中没有 `zh-cn`,请点击列表中的最后一项来从扩展插件商店安装中文扩展。插件商店会在左侧边栏弹出,您可以选择标有 Chinese (Simplified) 的那一项,点击其右下角的“安装”绿色按钮。\n", "2. 在界面左侧边栏,点击“扩展”按钮来打开扩展商店。\n", "3. 在扩展商店的搜索框中输入 `python` 来查找插件。您可以找到一个名为 Python、由 Microsoft 提供的官方扩展插件,点击其右下角的“安装”绿色按钮即可。\n", "\n", "为了更好地编写 Python,您可能还需要以下扩展插件;它们同样可以通过类似的方式在扩展商店中搜索和安装。\n", "\n", "- Pylance:(推荐)一个强大而高效的 Python 语法提示、自动补全、悬浮显示帮助信息的插件;比上述 Python 插件原生提供的功能更强。\n", "- Code Runner:(非必须)一个帮助用户执行 Python 文件的插件,但其实上面提到的 Python 插件已经提供了执行功能。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 执行 Python 文件\n", "\n", "安装好上述插件后,您可以尝试在 VS Code 编辑器中编写并运行您的第一个 Python 文件了。\n", "\n", "1. 点击“文件”菜单,并打开一个空文件夹(例如创建在 `D:\\pyproject`)。这是编写代码的一般规则,即以一个新文件夹来作为项目的起点。这个文件夹会在执行 Python 文件时被自动识别为当前项目的工作目录。\n", "2. 点击左边栏最上方的“资源管理器”来展开文件边栏。将鼠标移入其中,可以看到文件夹名右侧出现的几个小图标。点击其中的“新建文件”图标,来创建一个新文件。\n", "3. 给新文件键入名称,如 `pytest.py` ;Python 的代码文件以 `.py` 结尾。\n", "4. 单击该 `pytest.py` 文件以在右侧的编辑视图中浏览其内容(当前无内容)。\n", "5. 在编辑视图中输入简单的一行内容:\n", " ```python\n", " print(\"Hello world\")\n", " ```\n", "6. 按 `Ctrl + S` 保存文件。\n", "7. 点击编辑视图右上角的绿色执行按钮“在终端中运行 Python 文件”。\n", "8. 观察下方弹出的终端对话框,应当出现如下信息:\n", " ```\n", " PS D:\\pyproject> & C:/Python38/python.exe d:/pyproject/pytest.py\n", " Hello world\n", " ```\n", " 其中,`&` 之后的信息是由 Python 插件自动填写的,`C:/Python38/python.exe` 是 VS Code 检测到的 Python 安装路径。\n", " \n", " 如果您要指定另一处路径的 Python,请:\n", " \n", " - 点击“文件”菜单,选择“首选项 - 设置” (或者直接按 `Ctrl + ,`)。\n", " - 在设置界面顶部的搜索框中,输入 `interpreter path` 来搜索。\n", " - 在找到的 `Python: Default Interpreter Path` 中填写您安装的 Python 路径。\n", "9. 您可以点击下方终端对话框右上角的“终止终端”按钮来终止该终端,或者“关闭面板”按钮来暂时隐藏面板。要重新打开终端面板,可以按 `Ctrl` + 重音键(键盘上数字 1 左侧的键)。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 安装 Python 库\n", "\n", "Python 的众多库为它提供了丰富的外部功能。要安装 Python 库,最通常的方式是使用随 Python 安装的 pip 命令行工具。\n", "\n", "例如,要安装科学计算库 [NumPy](https://numpy.org/install/),直接在命令行中输入:\n", "```\n", "python -m pip install numpy\n", "```\n", "\n", "即可完成安装。如果你确认直接使用 `pip` 命令不会错误地调用其他的 pip,那么可以更简洁地写为:\n", "```\n", "pip install numpy\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 更改 pip 仓库镜像\n", "\n", "由于 pip 仓库在海外,有时连接会出现波动。国内的用户可以考虑将[清华大学的 TUNA pip 源](https://mirrors.tuna.tsinghua.edu.cn/help/pypi/)设置为默认镜像,即在命令行中输入;\n", "\n", "```\n", "pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple\n", "```\n", "\n", "这样,当前计算机的默认的 pip 源就被设置为了清华 TUNA 源,以后的 `pip install` 操作都会尝试连接该源,而不是默认的 `https://pypi.org/simple` 官方 PyPi 镜像。\n", "\n", "如果只是临时使用而不是替换默认的镜像设置,可以使用 `-i` 参数,例如,在安装 NumPy 库时选择连接 TUNA 镜像:\n", "```\n", "pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 更新 pip\n", "\n", "pip 工具会自动检查更新;如果您使用的不是最新版的 pip,在 pip 命令运行结束时,会提醒您安装新版本。安装命令一般是:\n", "```\n", "python -m pip install -U pip\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 选择预编译镜像\\*\n", "\n", "绝大部分的 Python 库在从 pip 镜像被拉取时都是编译过的,因此用户极少会用到本节的内容。\n", "\n", "我遇到的唯一例外是统计学库 `statsmodels`,如果直接使用 `pip install statsmodels`,它会在安装时请求编译。我建议使用\n", "```\n", "python -m pip install --only-binary :all: statsmodels\n", "```\n", "来进行安装——上述命令会自动在镜像中选择预编译的版本,而不是下载未编译的版本然后尝试在本地编译。" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }