新手必看:Python安装后各文件夹是干嘛的?一张图搞懂
一、学前花絮
刚开始学习时, 我们得学会安装那个解释器, 这事得依据自己电脑操作系统情形, 去官网寻觅对应的版本。等到学习深入了, 通常要有专门的IDE, 也就是开发工具。毕竟编写文件不能用word, 专门的那种开发工具会让你在格式编辑以及运行方面更轻松。
随着深入学习, 那我们所安装的新模块在哪? 像是pip , 那此模块处于哪个目录? 要了解这事是因往后或许要迁移程序, 且还有一点在于我们得清楚这个模块被安装到哪个版本里。
另外, 为什么能够寻找到模块, 以pip进行特定目录修改的缘由是什么, 虚拟环境可以避免“版本冲突”的原因何在, 下面就针对目录结构展开全面梳理。
二、目次架构全剖析, 2.1此为整体的目次结构图示, 以其作为示例, Linux与macOS与之相类似。
将其安装于根目录, 像是 C:\ 这个路径模式, 或者是 /usr/local/bin/.9 此类路径形式。
├─ , Linux/macOS通常为, .exe # 解释器。
├─ Lib/ # 标准库目录(内置模块核心位置)
│ ├─ os.py # 内置模块示例(纯实现)
│ ├─ json.py # 内置模块示例
放置第三方模块的安装之处(pip所安装的相关内容存放于此), 呈现为site-/ #。
│ │ ├─ / # 第三方模块示例(如库)
│ │ └─ numpy/ # 第三方模块示例
│ └─ ... # 其他标准库模块(如、等)
有一个名为 DLLs 的文件夹, 其中存放着用于动态链接的库, 这些库是 C 扩展模块的二进制文件, 像是以.pyd 作为后缀名的文件。
├─ / # C语言头文件(编译C扩展模块用)
├─ Libs/ # 静态库文件(较少用)
可执行脚本的目录, 其中存有pip.exe、pip3.exe以及虚拟环境激活脚本等, 被命名为├─ / #。
├─ tcl/ # GUI库依赖(可选)
└─ ... # 其他辅助文件(如、)
# 虚拟环境目录(如 venv/,独立于全局)
venv/
├─ / # 虚拟环境专属头文件
├─ Lib/ # 虚拟环境标准库(含独立的site-)
│ └─ site-/ # 虚拟环境内安装的第三方模块
├─ / # 虚拟环境可执行脚本(如.bat激活脚本)
└─ .cfg # 虚拟环境配置文件
从上面这些内容可看出, 展现的无疑是安装之后所呈现出的目录架构图案。一开始步入学习阶段的新手, 是能够不必过度去在意这个架构图案的, 然而随着学习进程不断深入下去, 尤其是在频繁地开展安装新模块这一行为的时候, 并且当程序代码需要转移到其他的机器上面, 甚至是要转移到其他不同的操作系统环境中的情况下, 那还是得去做一番了解, 要清楚知晓模块所处的具体位置。
2.2 核心目录与文件详解1. 解释器:程序的“大脑”
所处位置: 是在 Linux/macOS 系统中位于需安装内容根目录下面的 .exe()或者 bin/ 那里!
作用:执行代码,将.py文件翻译为机器指令。
输入于命令行之中的 -- , 能够将解释器版本显示出来(例如 3.9.10)。
2. 内置模块:开箱即用的“工具箱”
所在之处为, 位于 Lib/名下的那个目录里头, 主要是以 .py文件作为主体呈现的(单纯是实现方面), 并且有一部分核心模块呢, 是属于C扩展类型的(也就是二进制文件形式)。
分类:
纯模块, 像那种os.py, 也就是进行系统操作相关的, 还有json.py, 是用于JSON解析方面的, 以及.py, 是有关随机数的这样一些, 能够直接借助文本编辑器去打开从而阅读其源码。
对于C扩展模块, 像_io.pyd这样负责I/O操作的, 还有.pyd用于网络通信的, 其性能更为高些, 它的源码是采用C语言编写的,这个源码处于/目录, 并且是需要进行编译的。
使用:直接 os即可调用,无需额外安装。
3. 第三方模块:按需安装的“扩展包”
位置在, Lib/site-/, 处于或指代全局环境, 又或者所处为虚拟环境的venv/Lib/site-/。
具体的安装方式为, 借助pip模块名, 像是pip这样的, 对其进行自动下载的操作, 之后再进行解压的动作, 使其最终来到该目录。
示例:安装 后,目录结构为
site-//.py,调用时 。
4. C接口文件:连接与底层系统
作用是, 借由C语言来进行扩展, 以此调用系统底层一些功能, 像那种文件操作, 以及网络协议之类的功能。
核心目录:
把存放着像 _ssl.pyd加密模块这样动态链接库形式的.pyd文件放置于DLLs/()之中。
于全平台, 放置.h头文件, 像具特定格式的.h, 在编译自定义C扩展之时, 是需要加以引用的。
/(源码安装时):存放C扩展模块的源代码(.c文件)。
5. 虚拟环境:隔离项目的“沙箱”
充当的角色是: 防止不同项目于使用方面出现依赖方面的冲突情况, 举例而言, 像是A项目运用的是2.2版本, 而B项目运用的是4.0版本。
创建与使用:
-m, 使用venv这一方式, 来创建虚拟环境, 也就是生成名为venv的目录。
执行venv\\.bat, 以此来激活虚拟环境, 此时命令行前缀会显示(venv)。
皮普, 安装的模块仅仅存在于虚拟环境的库站点之中, 这儿要放特定的语句格式, 这儿要放置特别的语句样式。
# 退出虚拟环境
特点针对的是目录, 虚拟环境就是venv/, 其结构跟全局是类似的, 不过所有的依赖单独存放, 只要把venv/删除, 就能够彻底清理环境。
2.以3.9为例的3关键路径速查表, 对2.4以上内容进行总结, 核心要点为三, 小结。
今儿这篇文章, 没啥特别深入的编程方面的内容, 然而对于刚开始学习的人以及期望进行长期学习的友人来讲, 它挺重要的, 在好些时候, 我们免不了会思量自身所安装的模块跑到哪儿去啦? 尤其是在使用了存在多个版本的那种情况下, 这样一来就需要对整个结构具备一个清晰分明的认知。
熟知目录结构并非是单调乏味的“记背路径”, 而是要构建起对于周遭生态的全面性认知格局。这是从“初行新手”进阶至“资深开发者”时必然不得不经历的途径——它所给予你的, 并非纯然只是对于工具链的那种把控之感, 实则更关键的是凭借这么一种认知能力从而获得解决各类问题时所拥有那份十足底气。
让我们保持学习的热情,2026年一马当先、马到成功!

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)