当前位置:首页>python>python学习【161】:新手必看:Python安装后各文件夹是干嘛的?一张图搞懂

python学习【161】:新手必看:Python安装后各文件夹是干嘛的?一张图搞懂

  • 2026-10-05 12:56:03
python学习【161】:新手必看:Python安装后各文件夹是干嘛的?一张图搞懂

一、学前花絮

在学习python开始的时候,我们要学会安装python解释器,根据自己电脑的操作系统情况去官网找相应的版本。而随着学习的深入,一般要有专用的IDE,也就是开发工具。毕竟我们编写python文件不能用word,专用的开发工具会让你更轻松对格式的编辑及运行。
那么随着学习的深入,我们安装的新模块到哪里去了?比如pip install qrcode,那么qrcode这个模块到哪个目录下去了呢?之所以要了解这个事情,因为我们以后可能要迁移程序,还有一点就是我们要知道这个模块是安装到python哪个版本中。
再有,为何import能找到模块,为何pip install会修改特定目录,为何虚拟环境能避免“版本打架”?下面针对python目录结构进行全面梳理。

二、Python目录结构全解析

2.1 Python整体目录结构图(以Windows为例,Linux/macOS类似)

Python安装根目录(如 C:\Python39 或 /usr/local/bin/python3.9)

├─ python.exe

Python解释器(Windows,Linux/macOS通常为python3)

├─ Lib/# 标准库目录(内置模块核心位置)

│├─ os.py# 内置模块示例(纯Python实现)

│├─ json.py# 内置模块示例

│├─ site-packages/# 第三方模块安装目录(pip install xxx 存放于此)

││├─ requests/# 第三方模块示例(如requests库)

││└─ numpy/# 第三方模块示例

│└─ ...# 其他标准库模块(如hashlib、datetime等)

├─ DLLs/# Windows动态链接库(C扩展模块二进制文件,如.pyd)

├─ include/# C语言头文件(编译C扩展模块用)

├─ Libs/# Windows静态库文件(较少用)

├─ Scripts/#可执行脚本目录(pip.exe、pip3.exe、虚拟环境激活脚本等)

├─ tcl/# Tkinter GUI库依赖(可选)

└─ ...# 其他辅助文件(如LICENSE、README)

<o:p>

# 虚拟环境目录(如 venv/,独立于全局Python)

venv/

├─ Include/# 虚拟环境专属头文件<o:page>

├─ Lib/# 虚拟环境标准库(含独立的site-packages)

│└─ site-packages/# 虚拟环境内安装的第三方模块

├─ Scripts/# 虚拟环境可执行脚本(如activate.bat激活脚本)

└─ pyvenv.cfg# 虚拟环境配置文件

以上,就是python安装后的目录架构图。初学者可以不用太关心这个架构图,但随着学习的深入,特别是经常安装新模块,以及程序代码要移植到其他机器甚至其他操作系统的时候,还是要进行了解,知道模块所在位置。

2.2 核心目录与文件详解

1. Python解释器:程序的“大脑”

位置:安装根目录下的 python.exe(Windows)或 bin/python3(Linux/macOS)。
作用:执行Python代码,将.py文件翻译为机器指令。
示例:命令行输入 python --version,显示解释器版本(如 Python 3.9.10)。

2. 内置模块:开箱即用的“工具箱”

位置:Lib/目录下,以 .py文件为主(纯Python实现),部分核心模块为C扩展(二进制文件)。
分类:
纯Python模块:如 os.py(系统操作)、json.py(JSON解析)、random.py(随机数),可直接用文本编辑器打开阅读源码。
C扩展模块:如 _io.pyd(I/O操作)、_socket.pyd(网络通信),性能更高,源码为C语言(位于 Modules/目录,需编译)。
使用:直接 import os即可调用,无需额外安装。

3. 第三方模块:按需安装的“扩展包”

位置:Lib/site-packages/(全局环境)或虚拟环境的 venv/Lib/site-packages/。
安装方式:通过 pip install 模块名(如 pip install requests),自动下载并解压到该目录。
示例:安装 requests后,目录结构为 site-packages/requests/__init__.py,调用时 import requests。

4. C接口文件:连接Python与底层系统

作用:Python通过C语言扩展调用系统底层功能(如文件操作、网络协议)。
核心目录:
DLLs/(Windows):存放 .pyd文件(Python动态链接库,如 _ssl.pyd加密模块)。
include/(全平台):存放 .h头文件(如 Python.h,编译自定义C扩展时需引用)。
Modules/(源码安装时):存放C扩展模块的源代码(.c文件)。

5. 虚拟环境:隔离项目的“沙箱”

作用:避免不同项目依赖冲突(如A项目用Django 2.2,B项目用Django 4.0)。
创建与使用:

python -m venv venv

创建虚拟环境(生成venv目录)

venv\Scripts\activate.bat# Windows激活虚拟环境(命令行前缀显示(venv))

pip install requests# 安装的模块仅存于venv/Lib/site-packages

deactivate# 退出虚拟环境

目录特点:虚拟环境 venv/结构与全局Python类似,但所有依赖独立存放,删除 venv/即可彻底清理环境。

2.3 关键路径速查表(以Python 3.9为例)

2.4 以上内容的总结:核心要点

  • 内置模块在 Lib/,直接用 import调用;
  • 第三方模块在 site-packages/,通过 pip安装;
  • C扩展模块在 DLLs/(二进制)或 Modules/(源码);
  • 虚拟环境用 venv/隔离项目依赖,避免冲突。

三、小结

今天这篇文章没有什么太深入的编程内容,但对于初学者以及希望长期学习python的朋友来说很重要,在很多时候,我们会疑惑自己安装的模块哪里去了?特别是用了pycharm有多个python版本的时候,这就需要对python整体结构有一个清晰的认识。
认识目录结构不是枯燥的“背路径”,而是建立对Python生态的系统性认知,是从“新手”迈向“资深开发者”的必经之路——它赋予你的,是对工具链的掌控感,更是解决问题的底气。
让我们保持学习的热情,2026年一马当先、马到成功!

最新文章

随机文章