Skip to content

解释器、管理库、镜像源

更新: 2025/2/24 字数: 0 字 时长: 0 分钟

解释器

计算机运行写有 Python 代码的 .py 程序文件就必须安装一个能执行 Python 代码的解释器。下面介绍 Python 解释器的安装流程,一种是安装标准解释器 CPython,另一种是安装数据科学开发工具 Anaconda(包含标准解释器 CPython 和科学计算的第三方库)。

标准 CPython

首先,安装标准解释器 CPython,详细步骤如下:

  1. 进入 Python官方网站 点击 Downloads 选项卡弹出下载选项框。
  2. 根据计算机系统类别选择对应的选项,点击按钮进入下载页面。
  3. 根据计算机系统类型下载对应的 32 位或 64 位的 Python 安装程序。
  4. 运行下载的 exe 安装包,安装过程建议勾选“Add Python 3.x to PATH”(将 Python 3.x 添加到 PATH 环境变量)并选择自定义安装。
  5. 在设置“Optional Features”界面最好将“pip”、“tcl/tk”、“Python test suite”等项全部勾选上。
  6. 在 Python 的安装路径中不要出现中文、空格、特殊字符,另外路径不要埋太深。
  7. 安装完成会看到“Setup was successful”的提示。

::: image-group

<1>

<2>

<3>

<4>

<5>

<6>

<7>

:::

警告

若出现 disable path length limit(禁用文件路径最大深度限制) 选项,一定要点击一下,最后点击 Close。否则的话,将来安装第三方库可能会报错,到时候改注册表就很麻烦。

安装后,打开命令提示符窗口,敲入 python 命令回车后,会出现两种情况:

  • 情况一:若出现了 Python 版本号,就说明 Python 安装成功了!

v2-29789a74acb8e34c726e3a8e8464b9a1_720w

  • 情况二:若得到 'python'不是内部或外部命令,也不是可运行的程序或批处理文件 的错误,这很有可能是安装时没有勾选“Add Python 3.x to PATH”,导致 python.exe 执行文件路径没有添加到环境变量中。因为 Windows 会根据 Path 环境变量设定的路径去查找该执行文件,如果没有添加该文件的路径,系统找不到就会导致报错,那就需要手动把 python.exe 所在的路径添加到 Path 环境变量中。添加步骤如下:

    1. 打开“控制面板”并选择“系统”。
    2. 在“系统”窗口中,选择“高级系统设置”。
    3. 在弹出的窗口中,选择“环境变量”。
    4. 在“环境变量”窗口中,选择“系统变量”或“用户变量”部分,找到名为“Path”的变量,双击打开编辑窗口。
    5. 将 Python 的安装路径添加到“Path”变量的末尾,点击“确定”按钮即可。

    ::: image-group

    <1>

    <2>

    <3>

    <4>

    <5>

    :::

科学 Anaconda

Anaconda 是一个集成了 IDE、Notepad、Conda 管理系统、Python 解释器、180 多个 Python 包的数据科学开发工具,它专门用于执行大数据分析、机器学习、数据科学和更多数据密集型应用。其特点如下:

  • Anaconda 里面集成了很多常见的关于 Python 科学计算的第三方库,使得安装比常规 Python 安装要容易。
  • Anaconda 和 Python 的关系相当于汽车和发动机,当你安装了 Anaconda 就像买了一辆车,无需再安装发动机和其他零配件,而 Python 作为发动机为 Anaconda 提供工作所需的内核。
  • Anaconda 包含了一个开源的 Conda 管理系统,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。如果不使用 Conda,那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好。

v2-515add66df47795da2f127b801b195e2_1440w

现在我们来安装科学开发工具 Anaconda,详细步骤如下:

  1. 首先,进入Anaconda官方网站找到下载按钮,根据你的 Windows 系统类型下载对应的 32 位或 64 位 Anaconda 安装程序。

  2. 运行下载的安装包,点击“Next”。

  3. 选上“All Users”,点击“Next”。

  4. 选择一个盘,单独创建一个文件夹命名为“Anaconda”——路径不要有空格!!!路径不要有中文字符!!!

  5. 第一项“Add Anaconda to…”这个是说将安装路径填入到系统环境变量中,不要选,自己手动添加就好。第二项是说要默认使用 Python 的版本,要选上。

  6. 提示安装成功,选择点击“Next”按钮。

  7. 这里提示安装 VScode 代码编辑器,选择点击“Skip”按钮进行跳过。

  8. 两个“Learn. ..”选项都取消打勾,点击“Finish”按钮结束安装。

  9. 配置 Anaconda 环境变量(和上面添加 Path 环境变量一样):此电脑——属性——高级系统设置——环境变量——Path——编辑,将下面的内容替换为 Anaconda 安装路径添加到环境变量中:

    Anaconda安装路径(Python需要)
    Anaconda安装路径\Scripts(conda自带脚本)
    Anaconda安装路径\Library\bin(jupyter notebook动态库)
    Anaconda安装路径\Library\usr\bin
    Anaconda安装路径\Library\mingw-w64\bin(使用C with python的时候)
  10. 在命令行中输入 python 命令回车,返回 Python 版本号说明 Python 解释器安装成功。

  11. 在命令行中输入 conda --version 命令回车,返回 Conda 版本号说明 Conda 管理系统安装成功。

::: image-group

<1>

<2>

<3>

<4>

<5>

<6>

<7>

<8>

<9>

<10>

<11>

:::

管理库

Python 语言的一大特色就是拥有强大的生态系统和丰富的第三方库,其中标准库提供了 Python 语言的核心功能和常用工具,而第三方库则为特定领域或问题提供了额外的功能和解决方案,所以通过命令进行库的安装、更新、卸载是 Python 程序员的基本功。

whl 文件

.whl 文件是一种 Python 包的标准格式,来源于 Python 打包分发工具 wheel 生成的二进制分发包(binary distribution package),里面主要包含了预编译的 Python 源代码、依赖项以及其他必要的文件,用于方便地在 Python 环境中安装、分发和管理第三方库。主要优点包括:

  • 快速安装.whl 文件包含预编译的二进制文件,因此安装速度比源码包要快。
  • 简化依赖管理.whl 文件包含所有依赖项,因此在安装过程中不需要手动安装依赖项。
  • 跨平台支持.whl 文件是二进制格式,因此可以在不同操作系统上使用,无需重新编译。

命令规则

.whl 文件的命名遵循一定的约定,一个典型的 .whl 文件命名可能类似于 library_name-0.36.2-cp36-cp36m-win_amd64.whl,里面包括库名称、版本号、Python版本号、操作系统类型等信息,以便用户识别和选择适合自己环境的包。文件命名的具体含义如下:

  • 库名称:通常是描述库功能或用途的简洁名称,例如上面 library_name 就是第三方库的名称。
  • 版本号:版本号采用常见的三位数字格式(主版本号.次版本号.修订版本号)用于标识库的不同版本,以便用户在需要时选择适合其需求的版本,例如上面 0.36.2 就是第三方库的版本号。
  • Python 版本适配:Python 版本适配信息通常以 cp 开头,后跟适用的 Python 版本号,例如 cp36 表示适用于 Python 3.6 版本。有时也会使用 py2.py3 来表示同时适用于 Python 2 和 Python 3。
  • 操作系统适配:操作系统适配信息通常以操作系统类型开头,例如 win32 表示适用于 32 位 Windows 系统,win_amd64 表示适用于 64 位 Windows 系统。

安装流程

通过下载对应库的 .whl 文件来安装库,具体流程如下:

  1. 访问 Python扩展包仓库 找到需要安装的第三方库,根据环境选择适合安装的 .whl 文件进行下载。
  2. 下载完成后,在命令行窗口通过命令 pip install 路径\XXX.whl.whl 文件解压并安装其中的内容到 Python 环境中。

::: image-group

<1>

<2>

:::

pip 管理工具

pip 是一个官方认可的 Python 包管理工具,提供了查找、下载、安装、卸载的功能。当我们安装 Python 解释器时,pip 管理工具会跟随一起安装。另外,在使用 pip 管理工具前,还需要将其执行文件的所在路径添加到了 Path 环境变量中,这样 pip 命令就可以在本机的命令行中直接执行了。

常用命令

shell
# 查看当前Python环境中pip版本(可以验证pip是否安装)
pip --version

# 为当前Python环境中安装指定库(可选--user使用管理员权限)
pip install --user 库名

# 更新当前Python环境中已安装的库
pip install -U 库名

# 卸载当前Python环境中已安装的指定库
pip uninstall 库名

# 列出当前Python环境中所有已安装的库的信息
pip list

# 将当前Python环境中所有已安装的库的信息生成requirements.txt文件
pip freeze > requirements.txt
'''
# requirements.txt文件内容:
selenium==3.6.0
Scrapy==1.5.1
pymongo==3.5.1
lxml==4.2.5
'''

# 根据requirements.txt文件里面的库名和版本号信息,下载对应的库到当前Python环境中
pip install -r requirements.txt

升级工具

有人在使用 pip install -U pip 命令升级 pip 过程中可能会出现 Consider using the '--user' option or check the permissions 权限不足的错误,这个问题很好解决,在命令中加入 --user 参数就能使用管理员权限来升级 pip。

失败重装

这里额外说明一个可能会出现错误情况,就是有人在使用 pip install -U pip 命令升级 pip 过程中会出现升级失败。这时就会出现一个比较尴尬的点,就是升级 pip 会先卸载当前环境中的低版本 pip,然后再安装高版本的 pip,如果在安装过程中报错,导致当前 Python 环境里面没有可用的 pip 工具

35458ce954ef52d00f51c227c6be6165

这个时候我们随便执行一个 pip 命令就会报 No module named 'pip' 没有 pip 模块的错误:

e0e2873dc1cdfabf93e5db79cc25364d

要解决这个问题就得先把 pip 装回来,执行 python -m ensurepip 命令:

99781125fba02443397e0d613a734b48

之后再使用 pip 的命令测试一下已经可以正常使用了:

7a3a07a22c6fce17c9b052ad111e7800

Conda 管理系统

Conda 是一个开源的软件包管理系统和环境管理系统,可以用于管理 Python 或者 R 语言版本以及依赖包。当我们下载安装 Anaconda 时,Conda 管理系统会跟随一起安装。

常用命令

shell
# 查看conda版本(验证conda是否安装)
conda --version

# 查看conda详细信息
conda --info

# 查看conda中的所有的python环境
conda info --env

# 更新conda至最新版本(当较新的版本可用时,终端会显示Proceed ([y]/n)?,此时输入y即可进行升级)
conda update conda

# 查看conda帮助信息
conda --h 

# 在当前环境中安装包
conda install 包名

# 在指定环境中安装包
conda install --name 环境名称 包名

# 更新所有包
conda update --all

# 更新指定包
conda update 包名

# 获取当前环境中已安装的包信息
conda list

# 卸载当前环境中的包
conda remove 包名

# 卸载指定环境中的包
conda remove --name 环境名称 包名

类型区别

类型pipconda
区别包管理工具环境管理系统、软件包管理系统
支持语言只支持 PythonPython、R、C/C++ 等
源码安装支持不支持
.whl 文件安装支持支持
管理 Python 环境不支持支持
解决依赖包问题支持支持

提醒

如果电脑上有多个 Python 环境,想要在某个环境中安装包,就必须先切换到该环境,再使用当前环境中的库管理工具来安装包。

建议

pip 可以安装一些 conda 无法安装的包,conda 也可以安装一些 pip 无法安装的包。当使用一种命令无法安装包时,可以尝试另一种命令。

镜像源

上面介绍了 pip 安装和 conda 安装的区别,另外它们在下载 Python 包的来源上也有区别:

  • pip 下载源:PyPI (Python Package Index) 是 Python 官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到 PyPI,而且绝大多数的 Python 包会优先发布到 PyPI 上。

  • conda 下载源:默认安装源是 Anaconda.org,上面有主流 Python 包,但在数量级上明显少于 PyPI,缺少一些小众的包。

无论使用 pip 还是使用 conda 都有一个共同点,就是 Python 包的下载速度很慢,原因在于这些 Python 包是存储在国外服务器上的。为了解决这一问题,国内的一些大学机构、公司集团搭建了公用的镜像源,例如清华大学的镜像源、阿里云的镜像源等,这些镜像源会将 PyPI 和 Anaconda.org 上的包复制到国内的服务器上。通过将 pip 或 conda 的下载源配置为国内的这些镜像源,可以加快 Python 包的下载速度,并减少因网络问题导致的安装失败或超时的情况。

指定镜像源

目前,常用的国内镜像源如下:

在使用 pip 安装命令时,通过参数 -i 指定国内的镜像源地址,举例如下:

shell
# 阿里云镜像源安装
pip install XXX(包名) -i http://mirrors.aliyun.com/pypi/simple

# 清华大学镜像源安装(三方库齐全,推荐)
pip install XXX(包名) -i https://pypi.tuna.tsinghua.edu.cn/simple

配置镜像源

如果觉得上面每次执行 pip 命令都要加 -i 参数太麻烦,我们可以将镜像源地址配置到默认的下载管道中。具体操作如下:

  • 永久指定pip镜像源:通过下面命令来永久指定 pip 的 Python 镜像源,运行后会在 C 盘里面的路径下生成 pip.ini 文件。
shell
# 将清华pip镜像源配置到pip安装源列表中
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

QQ截图20210210153511

shell
# 查看配置的pip安装源
pip config list

QQ截图20210210154216

打开上面路径下生成的文件,也可以看到该文件的内容和上面的内容一致,说明 pip 镜像源配置成功。

QQ截图20210210153808

  • 永久指定conda镜像源:运行下面命令来永久指定 conda 的 Python 镜像源,运行后会在 C 盘里面的用户目录下生成 .condarc 文件。
shell
# 运行命令在用户目录下生成.condarc文件
conda config --set show_channel_urls yes

QQ截图20210210155911

首先,添加 Anaconda Python 免费仓库,将文件内容编辑为下面的内容:

shell
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

接着,清除索引缓存,保证用的是镜像站提供的索引,命令如下:

shell
conda clean -i

然后,展示 conda 的下载通道,命令如下:

shell
conda config --show channels

最后,如果想让 conda 恢复默认源,可以执行下面的命令:

shell
conda config --remove-key channels