Python脚本怎么在命令行运行:Windows与macOS操作指南
面向Windows与macOS用户的Python脚本命令行运行实用指南,详细讲解环境验证、路径定位、命令执行、参数传递及常见报错排查。
python 脚本名.py 或 py 脚本名.py 执行;在 macOS 系统中,则标准使用 python3 脚本名.py。只要理清终端启动、路径定位和解释器查找这三项要素,无论在哪个平台都能迅速完成运行。
一、准备工作:启动终端并验证 Python 环境
在执行任何代码前,需要先打开系统的命令行交互窗口,并确认系统已经能够正确找到 Python 解释器。如果系统尚未安装 Python 或未正确注册环境变量,后续命令将无法识别。
1. Windows 系统的准备步骤
Windows 提供了“命令提示符”(CMD)和“PowerShell”两种常用终端。按下快捷键 Win + R 打开运行窗口,输入 cmd 并按回车,即可打开黑底白字的命令提示符窗口;也可以在开始菜单直接搜索“PowerShell”启动。
在打开的窗口中输入以下命令并回车,用于检查环境:
python --version
如果输出具体的版本号,说明 Python 已安装且环境变量有效。如果提示“'python' 不是内部或外部命令”,可以尝试执行 py --version。Windows 安装包自带的 Python 启动器(Python Launcher)常以 py 命令存在。
2. macOS 系统的准备步骤
在 macOS 中,默认的命令行工具是“终端”(Terminal)。可以通过按下 Command + 空格键 呼出聚焦搜索(Spotlight),输入 Terminal 后回车打开;也可以在“访达 > 应用程序 > 实用工具”中找到“终端”。
macOS 历史版本曾预装过 Python 2,但现代 Python 3 均以 python3 作为程序名。在终端中输入:
python3 --version
若正确返回版本号,表明环境准备就绪。如果提示 command not found: python3,则需要先通过官网安装包或 Homebrew 完成 Python 3 的安装。
二、核心操作:在命令行运行脚本的两种路径方式
为了进行完整演示,假定我们在本地编写了一个简单的 Python 脚本,文件名为 demo.py,其源码内容如下:
# demo.py
import sys
print("Hello! Python 脚本已成功在命令行运行。")
print(f"当前使用的解释器路径: {sys.executable}")
要在命令行中调用该脚本,主要有两种操作方式:进入脚本所在目录后运行(相对路径法) 与 在任意位置指定完整路径直接运行(绝对路径法)。
方式一:切换至工作目录运行(推荐日常使用)
这是最符合直觉也是最不易出错的常用操作。先利用 cd(Change Directory)命令将命令行当前的工作路径切换到脚本所在文件夹,然后再输入文件名执行。
Windows 环境下的操作:
假设 demo.py 保存在 C:\Users\Alice\Projects 目录下:
cd C:\Users\Alice\Projects
python demo.py
cd D:\Projects 不会自动跳转驱动器,必须加上 /d 参数,例如 cd /d D:\Projects;而在 PowerShell 中则无此限制,可直接跳转。
macOS 环境下的操作:
假设 demo.py 保存在 /Users/alice/projects 目录下:
cd /Users/alice/projects
python3 demo.py
执行后的命令行输出结果示例:
当前使用的解释器路径: /usr/local/bin/python3
方式二:使用绝对路径直接运行(免切换目录)
如果命令行当前位于其他目录,且你不想或者不需要频繁切换工作目录(例如编写自动化批处理脚本或系统计划任务时),可以直接将脚本的完整物理路径传给 Python。
在 Windows 下(若路径包含空格,务必用双引号包裹路径):
python "C:\Users\Alice\Projects\demo.py"
在 macOS 下:
python3 /Users/alice/projects/demo.py
三、系统机制差异:Windows 与 macOS 的深入对比
虽然命令行调用 Python 的基本心智模型是一致的,但因为操作系统底层设计与历史沿革不同,Windows 与 macOS 在解释器分发、路径规则和执行权限上存在关键差异。理解这些差异有助于避免跨平台排错时的盲目猜测。
| 对比维度 | Windows 系统 | macOS 系统 |
|---|---|---|
| 默认调用命令 | python 或 py |
python3(python 通常未绑定) |
| 路径分隔符 | 反斜杠 \(如 C:\data\demo.py) |
正斜杠 /(如 /data/demo.py) |
| 多版本管理机制 | 原生支持 Python Launcher (py -3.10 / py -3.11) |
依赖路径别名、Homebrew 或版本工具 (如 pyenv) |
| 脚本直接运行机制 | 根据 Windows 文件关联,双击或直接输 demo.py 运行 |
需在首行声明 Shebang 并赋予 chmod +x 执行权限 |
| 空格路径处理 | 必须用双引号包裹:"C:\My Project\demo.py" |
用双引号包裹或使用反斜杠转义:My\ Project |
为什么这些差异重要?
许多初学者在 macOS 终端中照搬网络教程输入 python script.py,结果系统提示错误。这是因为 macOS 遵循 POSIX 标准,在移除了自带的旧版本 Python 2 之后,为了避免系统级脚本冲突,并没有将 python 软链接到 Python 3 上,必须显式指明 python3。
而在 Windows 平台上,官方安装程序提供了一个名为 py.exe 的小型启动器。它的优势在于能自动扫描系统中安装的所有 Python 版本,并读取脚本开头的解释器声明(Shebang),即使环境变量混乱,py demo.py 往往也能正确找到并运行脚本。
四、进阶实战:传递命令行参数与虚拟环境运行
在实际生产与开发中,脚本往往不仅是静态运行,常常需要接收外部参数,或者在特定的隔离虚拟环境中执行。
1. 运行时传递参数
在脚本文件名之后紧接着添加空格及参数,Python 内部通过内置模块 sys.argv 即可获取这些传参。
例如,修改 demo.py:
# demo.py
import sys
print("接收到的所有原始参数:", sys.argv)
if len(sys.argv) > 1:
print(f"你好, {sys.argv[1]}!")
在命令行中传入参数执行:
# Windows 执行
python demo.py Alice
# macOS 执行
python3 demo.py Alice
你好, Alice!
参数列表的第一个元素始终是当前执行的脚本名称本身,从第二个元素开始才是用户传入的实际参数。
2. 在虚拟环境(venv)中运行脚本
当项目安装了第三方扩展库(如 requests、pandas)时,推荐使用 Python 自带的 venv 模块创建隔离环境,避免污染系统全局环境。
第一步:在项目目录下创建虚拟环境
# Windows
python -m venv venv
# macOS
python3 -m venv venv
第二步:激活虚拟环境并执行脚本
# Windows (CMD) 激活
venv\Scripts\activate.bat
python demo.py
# Windows (PowerShell) 激活
.\venv\Scripts\Activate.ps1
python demo.py
# macOS (Terminal) 激活
source venv/bin/activate
python3 demo.py
当虚拟环境激活后,命令行提示符前方会出现 (venv) 标识。此时输入的 python 命令会自动锁定当前虚拟环境目录下的解释器及已安装的依赖库。
五、常见报错原因与排查解决清单
初次在命令行运行 Python 脚本时,绝大多数问题集中在环境配置与路径书写上。以下列出最高频的三种错误场景与排查顺序。
1. 提示“不是内部或外部命令”或“command not found”
- 原因分析:操作系统在当前环境变量(PATH)所记录的目录列表中,找不到名为
python或python3的可执行程序。 - 解决办法(Windows):打开系统“高级系统设置 > 环境变量”,在系统或用户变量的
Path中添加 Python 安装路径(例如C:\Users\用户名\AppData\Local\Programs\Python\Python311)及其Scripts目录。或者重新运行 Python 官方安装包,选择“Modify”,并务必勾选“Add python.exe to PATH”。 - 解决办法(macOS):确认是否误输入了
python,改用python3重试;若依然找不到,在终端运行which python3检查是否存在,必要时通过官方 pkg 安装包重装。
2. 提示“[Errno 2] No such file or directory”
- 原因分析:Python 解释器虽然成功启动,但在终端当前所在的工作目录下没有找到对应名称的文件。
- 排查步骤:
- 在 Windows 下执行
dir,或在 macOS 下执行ls,列出当前目录下的全部文件。 - 仔细比对文件名拼写与大小写。
- 在 Windows 常见“已知文件扩展名被隐藏”的坑:若新建记事本并保存为
demo.py,实际完整文件名可能变成了demo.py.txt。可以在文件夹选项中取消“隐藏已知文件类型的扩展名”进行核实。
- 在 Windows 下执行
3. 提示“ModuleNotFoundError: No module named 'xxx'”
- 原因分析:代码运行所需的第三方包未安装在当前被调用的解释器环境中。常发生于系统中同时安装了多个 Python(如 Anaconda、系统自带、Homebrew 等)。
- 解决办法:检查当前调用的是哪个 Python。在 Windows 运行
where python,在 macOS 运行which python3。确保使用对应的 pip 安装依赖,例如执行python -m pip install 库名,以保证安装与调用的环境绝对统一。
六、总结与最佳实践建议
在命令行运行 Python 脚本是每位开发者迈向工程化开发、自动化处理与服务端部署的必经之路。总结起来,建议在日常开发中形成以下习惯:
- 善用终端快捷技巧:在 Windows 资源管理器的文件路径栏直接输入
cmd并回车,可直接在当前目录打开命令提示符;在 macOS 中,将访达中的脚本或文件夹直接拖拽入终端窗口,终端会自动补全其绝对路径,避免繁琐的手动输入。 - 保持命令规范统一:在 Windows 上遇到环境多版本并存时,优先使用官方启动器
py -3 脚本名.py;在 macOS 上养成写python3 脚本名.py的习惯。 - 依赖隔离优先:只要涉及第三方库的项目,优先在项目目录下通过
python -m venv venv建立专属虚拟环境,在激活状态下运行脚本,彻底规避环境污染与版本冲突。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









