Windows和Mac终端运行Python脚本的命令与步骤

洛溪
洛溪
发布时间:2026-10-28| 5人浏览过
原创

详细讲解在Windows与Mac系统中通过终端命令行运行Python脚本的具体命令、操作步骤、路径定位、参数传递机制及常见报错排查。

在Windows与Mac终端中运行Python脚本的核心逻辑高度统一:打开命令行终端工具,确认系统Python环境与命令别名,通过文件路径定位到目标脚本,最后使用Python解释器命令执行脚本。两者的核心区别在于默认命令名称与环境解析机制——Windows通常使用 python 或启动器 py 命令,而现代macOS系统(macOS 12.3及更高版本)则必须明确调用 python3 命令。

一、跨平台运行的标准作业流程

无论在何种操作系统中,运行Python脚本通常都包含五个清晰的执行环节:启动终端界面、核验解释器命令、切换到目标目录或引用完整路径、执行运行命令,以及捕获输出结果。理解这一线性流程有助于快速定位操作失误是发生在“环境未配置”阶段还是“路径指定错误”阶段。

Windows和Mac终端运行Python脚本的命令与步骤
图 1:跨平台终端执行 Python 脚本标准作业流程图

二、Windows 终端运行命令与关键机制

在 Windows 环境下,最常用的终端是 PowerShell(Windows 10/11 默认)和经典的 命令提示符 (CMD)。运行 Python 脚本主要依赖两套命令机制:直接调用解释器二进制程序的 python 命令,以及官方专为 Windows 打造的轻量级启动器 py 命令。

1. 标准执行命令

假设在 D:\work\project 目录下有一个名为 main.py 的脚本,标准执行步骤如下:

# 1. 切换到脚本所在驱动器与文件夹(以 PowerShell 为例)
cd D:\work\project

# 2. 调用 python 命令执行脚本
python main.py

# 3. 或者使用 Windows 官方启动器执行
py main.py

命令提示符 (CMD) 切换盘符说明:在传统 CMD 中,若当前位于 C: 盘,直接输入 cd D:\work\project 不会自动切换盘符,必须在 cd 后面加上 /d 参数(即 cd /d D:\work\project),或者先单独输入 D: 回车切换盘符。而在 PowerShell 中,直接使用 cd D:\work\project 即可成功切换。

2. 为什么推荐 Windows 用户掌握 py 启动器?

在 Windows 系统中,py.exe(Python Launcher for Windows)通常随 Python 官方安装包一同默认安装在 C:\Windows\py.exe,该目录无条件位于系统 PATH 中。即使你在安装 Python 时漏选了“Add python.exe to PATH”,py 命令依然可以直接在任意终端中使用。此外,它能根据代码首行的 Shebang(例如 #!/usr/bin/env python3.11)或参数自动分发执行版本:

# 列出当前系统中已安装的所有可用 Python 版本
py -0

# 强制指定以 Python 3.10 解释器运行当前脚本
py -3.10 main.py

三、Mac 终端运行命令与历史演进

在 macOS 系统中,打开“终端”(Terminal.app)或第三方终端“iTerm2”后,默认的交互 Shell 通常是 zsh(macOS Catalina 10.15 之后成为默认 Shell)。Mac 用户在运行 Python 脚本时最常遇到的困惑是执行 python 命令提示 zsh: command not found: python。

1. 为什么 Mac 上必须使用 python3?

早期版本的 macOS 曾内置 Python 2.7,其命令为 python。然而,Python 官方早在 2020 年就全面停止了对 Python 2 的支持;苹果公司也自 macOS Monterey 12.3 开始,彻底从系统中移除了内置的 Python 2.7 运行环境。目前通过 Homebrew(brew install python)或 Python 官方 PKG 安装包安装的都是 Python 3,其可执行文件名称为 python3。因此,现代 Mac 终端的统一运行命令必须写作:

# 检查 Mac 终端中 Python 3 的版本
python3 --version
# 示例输出:Python 3.11.8

# 切换到脚本目录并执行
cd ~/Documents/scripts
python3 main.py
Windows和Mac终端运行Python脚本的命令与步骤
图 2:Windows 与 macOS 解释器调用与环境发现机制对比

2. Mac 独有的直接运行模式(Shebang 与 chmod)

在 Mac 等类 Unix 系统中,除了使用 python3 main.py 显式调用外,还可以像运行普通可执行程序一样直接键入 ./main.py 运行。实现该方式需要满足两个前提条件:

  1. 添加组织者声明(Shebang):在 main.py 文件的第一行必须严格加入声明语句 #!/usr/bin/env python3。这告知操作系统内核在启动该文件时自动调用环境变量中发现的 python3。
  2. 赋予可执行权限:新建的文件默认只有读写权限,需要在终端中运行一次 chmod +x main.py 为其追加执行权限(x)。
# 第一步:为脚本文件增加可执行权限
chmod +x main.py

# 第二步:直接在当前目录下运行该脚本
./main.py

四、终端工作目录 (CWD) 与路径指定技巧

初学者在终端运行脚本时,超过 70% 的错误源于“终端当前所在位置”与“脚本存放位置”不一致,从而触发 No such file or directory(找不到文件)。理解当前工作目录(Current Working Directory,简称 CWD)是顺畅使用终端的基础。

Windows和Mac终端运行Python脚本的命令与步骤
图 3:终端当前工作目录 (CWD) 与脚本寻址模式对比图

路径操作的核心原则

  • 查看当前所在的目录:在 Windows PowerShell 中键入 pwd 或在 CMD 中键入 cd;在 Mac 终端中键入 pwd。
  • 查看当前目录下有哪些文件:Windows 中使用 dir,Mac 中使用 ls(或 ls -l)。确认你要运行的 xxx.py 确实出现在列表中,再敲击运行命令。
  • 路径含有空格的防错处理:当文件路径中包含空格(如 My Project)时,若不加引号,终端会将空格后的内容误当作传递给 Python 自身的参数,导致报错 can't open file 'D:\My': [Errno 2] No such file or directory。务必用英文双引号包裹整个路径:python "D:\My Project\main.py"。

五、运行脚本时传递参数与模块化执行

终端运行 Python 脚本不仅限于无参启动,经常需要通过命令行向脚本传递动态参数,或者将包作为模块独立执行。

1. 命令行参数传递

在命令末尾直接以空格分隔追加参数值,Python 脚本内部可通过标准库中的 sys.argv 或 argparse 模块进行接收解析:

# 终端执行带参命令(Windows 和 Mac 命令语法一致)
python3 process_data.py --input raw.csv --batch-size 64 --export

# 脚本内部对应读取方式(示意)
import sys
print("传递的所有参数:", sys.argv)
# sys.argv[0] 是脚本自身名称,sys.argv[1:] 包含传递的各参数字符串

2. 以模块方式运行 (-m 参数)

当你的代码组织为多目录构成的 Python Package(即包含 __init__.py)时,直接以文件形式 python3 app/server.py 运行容易引发相对导入错误(ImportError: attempted relative import with no known parent package)。此时应退到项目根目录,使用 -m 标志以模块方式运行:

# 切换至项目顶层根目录
cd ~/projects/my_project

# 使用 -m 运行包内的特定模块(注意:末尾不加 .py 后缀)
python3 -m app.server

六、高频运行报错与排查清单

下表归纳了终端运行 Python 脚本时最常遇到的四类报错现象、根本诱因与确定性解决方案:

报错提示信息 常见系统 核心诱因 针对性解决步骤
'python' 不是内部或外部命令,也不是可运行的程序 Windows 安装 Python 时未勾选“Add python.exe to PATH”,终端在环境变量目录找不到可执行文件。 改用 py 脚本名.py 直接运行;或重新打开安装程序选择“Modify”,勾选添加 PATH。
zsh: command not found: python macOS macOS 12.3 删除了系统默认 Python 2,系统没有直接名为 python 的软链接。 改用 python3 脚本名.py 执行;或在 ~/.zshrc 中加入 alias python=python3。
[Errno 2] No such file or directory 跨平台通用 当前终端的工作目录(CWD)并非脚本存放目录,或者输入的文件名有错别字。 先执行 pwd 检查当前路径,执行 ls 或 dir 核查文件名,使用 cd 正确进入文件所在文件夹。
Permission denied macOS / Linux 使用 ./script.py 直接执行时,该文件没有分配系统的可执行权限标记。 使用 chmod +x script.py 赋予执行权限;或者改用显式命令 python3 script.py 运行。

七、决策与速查总结

为了让日常操作清晰高效,下图梳理了在各种具体场景下选择运行命令的最佳决策路径:

Windows和Mac终端运行Python脚本的命令与步骤
图 4:终端运行 Python 脚本命令决策与速查矩阵

掌握终端运行 Python 脚本的核心在于建立清晰的“环境命令”与“文件路径”对应意识。只要确保当前命令行所指向的目录正确、输入的解释器命令(python、py 或 python3)能与系统实际安装的 Python 版本有效联动,脚本就能在 Windows 和 Mac 终端上实现一致且稳定的运行。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。