Windows和Mac命令行怎么运行Python脚本
详细讲解在 Windows 和 Mac 系统的命令行终端中如何正确运行 Python 脚本,涵盖解释器验证、路径切换、命令差异、传参与常见报错排查。
在命令行运行 Python 脚本,本质上只有两步:一是调用正确的 Python 解释器命令,二是把脚本文件的路径传给它。很多初学者在点击代码编辑器的“运行”按钮时一切顺利,一打开黑底白字的命令行却频繁遭遇“找不到命令”或“找不到文件”。这通常不是代码本身有问题,而是操作系统寻找程序和解析文件路径的机制没有理顺。只要掌握了终端操作逻辑与双系统下的命令差异,在命令行执行脚本就会变成一种轻快、可控的操作习惯。
一、运行前的核心常识:解释器与路径
在直接敲命令前,有两项基础概念直接决定了执行能否成功:
- 命令指代的是谁: 当你在终端敲下
python、python3或py时,操作系统并不会直接读懂你的.py代码,而是去系统路径(PATH 环境变量)中查找名为该可执行程序的二进制文件,再由该程序作为“翻译官”去逐行解释你的脚本。 - 当前工作目录(Current Working Directory): 打开终端时,终端默认停留在你的用户根目录(如 Windows 下的
C:\Users\用户名,Mac 下的/Users/用户名)。如果不切换目录,直接输入文件名,系统会在用户根目录下搜寻,自然会报出“找不到文件”的错误。
二、Windows 命令行运行 Python 脚本
在 Windows 上,微软推荐使用“Windows 终端”(Windows Terminal)或传统的“命令提示符”(CMD),也可以使用 PowerShell。假设我们在 D:\projects 目录下有一个名为 app.py 的测试脚本,内容为打印一段欢迎语句。
1. 启动命令行与确认 Python 环境
按下键盘快捷键 Win + R,在弹出的“运行”框中输入 cmd 并回车,即可打开命令提示符。首先输入以下命令验证 Python 是否已经就绪:
py --version
或者:
python --version
如果控制台正确打印了版本号(例如 Python 3.11.4),说明环境正常。在 Windows 平台,强烈建议优先使用 py 命令。py.exe 是官方安装包附带的 Python 启动器(Python Launcher),无论你的安装路径多么深,它都能自动探测并调用系统里注册的最新 Python 引擎。
2. 切换到脚本所在目录
这一步是多数新手容易卡住的地方。假设脚本保存在 D:\projects,在 CMD 中直接输入 cd D:\projects 往往无法直接切过去,因为 CMD 默认保留在 C 盘。必须加上 /d 参数以实现跨驱动器切换:
cd /d D:\projects
如果是在 PowerShell 中,直接使用 cd D:\projects 即可。切换成功后,命令提示符左侧的前缀路径会变成 D:\projects>。你可以输入 dir 命令查看当前目录下的文件列表,确认 app.py 确实在此处。
3. 执行脚本命令
确认处于脚本同级目录下后,输入如下命令并回车:
py app.py
如果系统没有配置 py 启动器,但安装时勾选了“Add Python to PATH”,则可以使用:
python app.py
屏幕上将即时打印出脚本的运行结果。
技巧:不想 cd 怎么直接运行?
如果不想每次都切换目录,可以直接在解释器命令后跟上文件的绝对路径。例如:
py "D:\my projects\app.py"
注意:如果文件路径中包含空格(如上面的 my projects),必须用英文双引号将完整路径包裹起来,否则命令行会把空格当作参数分隔符,导致报出找不到文件的错误。
三、Mac 终端运行 Python 脚本
macOS 自带名为“终端”(Terminal)的原生应用,默认使用的 Shell 是 zsh。Mac 环境与 Windows 最大的不同在于:苹果在 macOS 12.3 之后彻底移除了系统内置的 Python 2,且默认不会为 python 命令创建软链接。
1. 打开终端与核验版本
按下 Command + 空格键 唤起聚焦搜索(Spotlight),输入 终端 或 Terminal 后回车打开。首先输入命令检测 Python 3:
python3 --version
如果此时误输入了 python --version,终端通常会提示 zsh: command not found: python。记住:在 Mac 终端中,务必显式输入 python3。
2. 切换目录与绝妙的“拖拽输入”
假设你的脚本存放在桌面上的 code 文件夹中,在终端输入:
cd ~/Desktop/code
按回车进入。此时输入 ls 可以列出该文件夹下的所有文件。
如果你不清楚脚本的具体路径,Mac 终端提供了一个极其便捷的操作:先在终端输入 cd (注意 cd 后面有一个空格),然后直接从访达(Finder)中将文件夹图标拖入终端窗口,终端会自动填充该文件夹的完整转义路径,直接回车即可精准进入。
3. 执行脚本命令
进入目录后,运行目标文件:
python3 app.py
如果需要直接运行指定路径的文件,同样可以先输入 python3 (带空格),然后将访达里的 app.py 文件拖进终端窗口,终端会自动补齐完整路径,敲回车即可立即执行:
python3 /Users/yourname/Desktop/code/app.py
4. 高级用法:赋予可执行权限直接运行
在 Mac 等类 Unix 系统中,你可以让 Python 脚本像独立程序一样运行,无需每次手动敲 python3。只需满足两个条件:
- 在脚本的第一行加入 Shebang 声明:
#!/usr/bin/env python3 - 在终端中使用
chmod命令为该文件赋予执行权限:chmod +x app.py
完成这两步后,在当前目录下只需输入 ./app.py 即可直接运行。
四、常见报错与排查决策树
命令行运行过程中遇到的问题往往集中在少数几个典型场景。遇到运行中断时,可以对照下方的决策路径逐一排查:
五、进阶:传递参数与虚拟环境运行
1. 接收命令行参数
在实际开发中,我们经常需要在执行时向脚本传递动态参数,比如文件名、端口号或运行模式。只需在执行命令的末尾以空格分隔依次追加:
# Windows
py app.py --mode production --port 8080
# Mac
python3 app.py --mode production --port 8080
在 Python 脚本内部,这些参数可以通过标准库 sys.argv 列表直接读取,或使用 argparse 模块进行规范化解析。
2. 在虚拟环境(venv)中运行脚本
大型项目通常拥有独立的依赖环境。当你在项目根目录创建了虚拟环境(例如名为 .venv)后,运行方式推荐遵循以下规范:
第一种方式:先激活环境再运行(适合连续操作)
# Windows 激活 (CMD)
.venv\Scripts\activate.bat
# Windows 激活 (PowerShell)
.venv\Scripts\Activate.ps1
# Mac 激活
source .venv/bin/activate
# 激活后终端提示符前会出现 (.venv),此时直接输入 python 即可调用该隔离环境:
python app.py
第二种方式:不激活直接调用虚拟环境解释器(适合批处理或定时任务)
# Windows 直接调用
.venv\Scripts\python.exe app.py
# Mac 直接调用
.venv/bin/python3 app.py
六、Windows 与 Mac 运行命令速查总结
为了便于日常翻阅,下表整理了两个操作系统在日常运行 Python 脚本时的关键命令与语法对照:
| 操作场景 | Windows 推荐写法 | Mac 推荐写法 | 核心注意事项 |
|---|---|---|---|
| 查看已安装版本 | py --version 或 python -V |
python3 --version |
Mac 切忌只输 python |
| 跨盘符/路径切换 | cd /d D:\projects |
cd ~/projects |
CMD 跨盘必须加 /d |
| 运行同级目录脚本 | py app.py |
python3 app.py |
必须确保终端已定位到该目录 |
| 处理带空格的路径 | py "D:\my code\app.py" |
python3 "/Users/me/my code/app.py" |
必须使用英文双引号闭合路径 |
| 强制中断执行 | Ctrl + C |
Control + C |
双平台通用快捷键 |
掌握了终端与解释器交互的基本规则后,命令行不再是令人望而生畏的代码黑盒,而是最直接、最轻量、最容易被脚本与自动化任务调用的执行入口。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













