1、Python解释器
Python解释器是一个计算机程序,它将Python代码转换为计算机可以理解的机器代码,并执行这些机器代码。
1. 这篇文章介绍如何下载和安装Python解释器:
python基础(2)— 环境搭建
2 . 这篇文章介绍如何在pycharm中配置Python解释器:
Pycharm快速入门(5) — Python解释器和环境配置
2、Python 解释器中文件夹介绍
Python解释器下包含以下文件夹:
**Lib**:这是 Python 标准库的安装目录,包含了 Python 的标准模块和包。这些模块和包可以直接被 Python 解释器所使用。当您安装新的 Python 版本时,标准库也会随之更新。
**site-packages**:这个文件夹用于存放第三方库和扩展模块。当您使用 pip 或其他包管理工具安装新的库时,它们通常会被放置在这个目录下。如果您想手动安装库,也可以将库复制或解压到这个目录中。
**Scripts (Windows) / bin (Linux)**:这个文件夹包含了可执行脚本或二进制文件,例如在 Windows 平台下的 pip.exe、python.exe,在 Linux 平台下的 pip、python。这些脚本和二进制文件允许您从命令行运行 Python 程序和工具。
**Include**:在某些平台上,这个目录包含了用于 C/C++ 扩展模块的头文件。如果您想在 Python 中开发自己的 C/C++ 扩展模块,则需要在这个目录中包含头文件。
**tcl, tk**:这些目录包含了 Tkinter GUI 工具包需要的文件。Tkinter 是 Python 中一个标准的 GUI 工具包,允许您创建图形用户界面。
3、Lib文件夹
Python解释器中的Lib文件夹包含了Python标准库的全部内容。标准库是一个庞大而全面的库集合,为Python编程提供了各种各样的功能和工具。
Lib文件夹中包含了以下类型的文件:
- .py文件:这些文件包含了Python源代码。
- .pyc 文件:这些文件包含了Python字节码。字节码是Python源代码编译后的中间代码,可以直接被Python解释器执行。
- __init__.py文件:这些文件是包的初始化文件。包是Python中的一种模块组织方式,可以将相关的模块组合在一起。
- 其他文件:Lib文件夹中还包含了一些其他文件,例如README文件、LICENSE文件等。
以下是一些Lib文件夹中比较重要的模块:
- os:操作系统接口模块,提供了与操作系统交互的函数,例如文件和目录操作、进程管理、环境变量访问等。
- sys:系统相关模块,提供了有关Python解释器、Python版本、命令行参数等信息。
- re:正则表达式模块,提供了正则表达式匹配和替换的函数。
- math:数学模块,提供了数学相关的函数,例如三角函数、指数函数、对数函数等。
- random:随机数模块,提供了生成随机数的函数。
- datetime:日期和时间模块,提供了日期和时间处理的函数。
- json:JSON数据处理模块,提供了将Python数据结构转换为JSON格式和从JSON格式解析出Python数据结构的函数。
- requests:HTTP库,提供了发送HTTP请求和处理HTTP响应的函数。
- numpy:科学计算库,提供了数值计算相关的函数和数据类型。
- pandas:数据分析库,提供了数据清洗、转换、分析和建模的函数和数据结构。
4、site-packages 文件夹
`Lib` 文件夹中的`site-packages` 文件夹是 Python 中用于存储第三方包的默认位置。
当你在 Python 中安装一个第三方包时,该包的代码和数据文件将被安装到 `site-packages` 文件夹中。这样,Python 就可以在运行时找到和加载这些包。
你也可以将第三方包安装到其他位置,但通常不建议这样做。这是因为 `site-packages` 文件夹是 Python 默认的包搜索路径,因此将包安装到其他位置可能会导致 Python 无法找到和加载这些包。
`site-packages` 文件夹通常是 Python 包的安装目标,因为它具有以下优点:
- 它位于 Python 安装目录中,因此它是 Python 可以轻松找到的位置。
- 它是一个标准的位置,因此所有 Python 包都可以安装到同一个地方。
- 它可以轻松地添加到 Python 的包搜索路径中。
如果你想了解有关 `site-packages` 文件夹或 Python 包管理的更多信息,你可以参考以下资源:
- Python 包管理官方文档
- pip 文档
- virtualenv 文档
5、创建虚拟环境时有多个 `site-packages` 文件夹
当你创建虚拟环境时,`External Libraries` 文件夹中有多个 `site-packages` 文件夹的原因是,每个虚拟环境都有自己的隔离的 Python 环境。这意味着每个虚拟环境都有自己的 `site-packages` 文件夹,其中包含了该虚拟环境中安装的包。
这样做的目的是为了使虚拟环境相互独立,并防止它们相互干扰。例如,如果你在虚拟环境 A 中安装了一个包,那么这个包不会在虚拟环境 B 中可用。这可以帮助你避免包冲突和其他问题。
此外,创建虚拟环境时,`External Libraries` 文件夹中还会包含一个名为 `site-packages (global)` 的文件夹。这个文件夹包含了全局安装的包,即在系统范围内安装的包。这使你可以在虚拟环境中使用这些全局安装的包。
因此,当你创建虚拟环境时,`External Libraries` 文件夹中有多个 `site-packages` 文件夹是正常的。每个 `site-packages` 文件夹都包含了该虚拟环境中安装的包,而 `site-packages (global)` 文件夹包含了全局安装的包。
以下是一些创建虚拟环境时 `External Libraries` 文件夹中有多个 `site-packages` 文件夹的好处:
- 隔离性:每个虚拟环境都有自己的 `site-packages` 文件夹,这使它们相互独立,并防止它们相互干扰。
- 可移植性:你可以将虚拟环境复制到其他计算机上,而无需担心包冲突和其他问题。
- 重复性: 你可以在不同的虚拟环境中安装相同的包,而不会影响其他虚拟环境。
如果你正在开发多个 Python 项目,或者你需要在不同的 Python 版本或不同的包管理器之间切换,那么使用虚拟环境是一个好主意。
例如下图:
新建项目funds-app-mock使用了虚拟环境,`External Libraries` 文件夹中有2个 `site-packages` 文件夹。
分别选中`site-packages` 文件夹,鼠标右键打开文件夹所在位置。
Python解释器初始的依赖包;
虚拟环境的依赖包:
reference:
Python Packaging User Guide