01 检查 Python 版本与环境

  • 本节目标:确认本机 Python 可用,并理解解释器、版本、pip、命令行和 Git 的基础概念

1. 本节要解决的问题

在正式写 Python 项目前,必须先确认开发环境能正常工作。

本节会完成四件事:

  1. 确认 python 命令是否可用。
  2. 确认 py 命令是否可用。
  3. 确认 pip 是否可用。
  4. 确认 git 是否可用。

当前机器检查结果:

工具 检查命令 当前结果
Python python --version Python 3.14.2
Python Launcher py --version Python 3.14.2
pip pip --version pip 25.3
Git git --version git version 2.53.0.windows.2

2. Python 是什么

2.1 概念

Python 是一种编程语言。我们写的 .py 文件不是直接由电脑硬件执行,而是交给 Python 解释器执行。

可以把过程理解为:

text 复制代码
你写的 Python 代码
  -> Python 解释器读取代码
  -> 解释器逐步执行代码
  -> 电脑显示结果

2.2 作用

Python 可以用于:

  1. 写脚本自动化。
  2. 开发 Web 后端。
  3. 操作文件和数据。
  4. 做爬虫。
  5. 做数据分析。
  6. 做 AI 应用。
  7. 写测试工具和运维工具。

2.3 原理

当你在命令行输入:

powershell 复制代码
python hello.py

系统会做这些事:

  1. 找到名为 python 的程序。
  2. 启动 Python 解释器。
  3. hello.py 这个文件交给解释器。
  4. 解释器从上到下读取代码。
  5. 遇到 print() 这类语句时,就执行对应动作。

2.4 常见坑

  1. 电脑装了 Python,但命令行找不到 python,通常是 PATH 环境变量没配好。
  2. 电脑装了多个 Python 版本,pythonpy 指向的版本可能不同。
  3. 复制网上命令时,没有注意 Windows PowerShell、cmd、macOS/Linux shell 的差异。
  4. 文件名写成 python.py,容易和 Python 自己的模块名冲突。

3. 解释器是什么

3.1 概念

解释器就是执行 Python 代码的程序。

你写的是文本:

python 复制代码
print("Hello, Python")

解释器负责理解这行文本是什么意思,然后让电脑输出:

text 复制代码
Hello, Python

3.2 作用

解释器解决的问题是:电脑硬件并不直接认识 Python 语法,需要一个中间程序把 Python 代码转成电脑能执行的动作。

3.3 项目应用

后面每个项目都会依赖解释器:

  1. 运行 .py 文件。
  2. 运行测试。
  3. 安装依赖。
  4. 创建虚拟环境。

所以第一步必须确认解释器版本。

4. Python 版本为什么重要

4.1 概念

版本号表示当前 Python 的功能集合。比如当前机器是:

text 复制代码
Python 3.14.2

可以拆成:

部分 含义
3 主版本
14 次版本
2 修复版本

4.2 作用

版本会影响:

  1. 语法是否支持。
  2. 标准库是否包含某些功能。
  3. 第三方库是否兼容。
  4. 教程里的代码能不能运行。

4.3 常见坑

  1. 教程使用 Python 3.11,但本机是 Python 2.7,代码可能完全不能运行。
  2. 某些第三方库还没支持最新 Python 版本,安装时可能失败。
  3. 项目里不记录 Python 版本,换电脑后可能出现奇怪错误。

当前机器 Python 版本是 3.14.2,版本很新。后续如果遇到第三方库暂时不兼容 Python 3.14,要记录问题并考虑使用 3.12 或 3.13 的虚拟环境。

5. pythonpy 的区别

5.1 python

python 是最常见的启动命令:

powershell 复制代码
python --version

它依赖系统 PATH。PATH 可以理解为"命令行查找程序的位置列表"。

5.2 py

py 是 Windows 上常见的 Python Launcher。它可以帮助选择不同 Python 版本。

例如:

powershell 复制代码
py --version

后面如果电脑里有多个 Python 版本,也可能使用:

powershell 复制代码
py -3.14 --version

5.3 常见坑

  1. python 可用但 py 不可用,说明 Python Launcher 可能没安装。
  2. py 可用但 python 不可用,说明 Python 安装了,但 PATH 可能没配置。
  3. 两者版本不同,要明确项目到底使用哪个解释器。

本机 pythonpy 都指向 Python 3.14.2,目前一致。

6. pip 是什么

6.1 概念

pip 是 Python 的包安装工具。包就是别人写好的一组 Python 代码,可以被我们的项目复用。

例如以后安装测试工具:

powershell 复制代码
pip install pytest

6.2 作用

pip 解决的问题是:不用自己手动下载、复制、配置第三方库。

它能:

  1. 从包仓库下载库。
  2. 安装库。
  3. 升级库。
  4. 卸载库。
  5. 查看当前环境里有哪些库。

6.3 常见坑

  1. 没有激活虚拟环境就安装依赖,导致包装到全局环境里。
  2. pip 对应的 Python 不是项目正在用的 Python。
  3. 国内网络访问包仓库慢,需要配置镜像源。
  4. 直接在全局环境安装太多包,后面项目依赖容易混乱。

后续会单独学习虚拟环境。现在只需要确认 pip 存在。

7. Git 是什么

7.1 概念

Git 是版本控制工具。它可以记录每一次学习任务完成后的文件状态。

可以把 Git 理解为项目的"时间线":

text 复制代码
第一次提交:初始化学习体系
第二次提交:预习爬虫技术
第三次提交:检查 Python 环境

7.2 作用

Git 能解决:

  1. 知道每次改了哪些文件。
  2. 给每个学习任务留下历史记录。
  3. 出错时可以查看之前版本。
  4. 让学习进度和代码变化一一对应。

7.3 常见坑

  1. 改了文件但忘记提交。
  2. commit message 太随意,之后看不懂。
  3. 用危险命令覆盖自己的学习记录。
  4. 把密钥、密码、token 提交到仓库。

本仓库要求每完成一个明确任务就创建一次 Git commit,并更新提交映射日志。

8. 环境检查脚本说明

本节新增脚本:

text 复制代码
projects/00-python-dev-workbench/check_environment.py

脚本做这些事:

  1. 打印当前 Python 版本。
  2. 打印当前 Python 可执行文件路径。
  3. 打印当前操作系统。
  4. 检查 PATH 中的 pip --version
  5. 检查当前解释器绑定的 python -m pip --version
  6. 检查 git --version

运行命令:

powershell 复制代码
python projects/00-python-dev-workbench/check_environment.py

9. 最小代码示例

下面是一个简化示例:

python 复制代码
import sys

print(sys.version)
print(sys.executable)

解释:

  1. import sys 表示导入 Python 标准库里的 sys 模块。
  2. sys.version 保存当前 Python 版本信息。
  3. sys.executable 保存当前 Python 解释器程序的位置。
  4. print() 会把内容输出到命令行。

10. 本节复盘

你现在要记住:

  1. Python 代码需要解释器执行。
  2. python --version 可以查看 Python 版本。
  3. py --version 是 Windows 上常见的 Python Launcher 检查方式。
  4. pip 用来安装第三方包,但后面要配合虚拟环境使用。
  5. Git 用来保存学习进度和代码历史。
  6. 当前机器的基础环境可用,可以进入下一步虚拟环境学习。
相关推荐
zhangfeng11331 小时前
国家超算中心 htc 如果只有gpu资源 没有cpu资源 操作文件的时候会不会很卡呢
人工智能·pytorch·python·机器学习
rit84324991 小时前
链路预测(Link Prediction)MATLAB 实现
开发语言·matlab
阿哟阿哟1 小时前
vna.3.1.9.cn.jar设置成中文界面
python·pycharm·jar
XZ-0700011 小时前
MySQL-综合应用(Python+Html)
python·mysql·html
就叫_这个吧1 小时前
Java普通类、抽象类、接口的应用和区别
java·开发语言
梅孔立1 小时前
解决Nginx缓存不写入响应体问题:浏览器强制不缓存配置教程
java·开发语言·nginx·spring
代码改善世界1 小时前
【C++进阶】红黑树模拟实现mymap和myset
开发语言·c++
噜噜噜阿鲁~1 小时前
python学习笔记 | 11.4、面向对象高级编程-定制类
笔记·python·学习
站大爷IP1 小时前
Python闭包变量作用域踩坑实录,原来我们都想错了
python