Python脚本怎么在命令行运行:Windows与macOS操作指南

沈亦白
沈亦白
发布时间:2026-10-29 | 7人浏览过
原创

面向Windows与macOS用户的Python脚本命令行运行实用指南,详细讲解环境验证、路径定位、命令执行、参数传递及常见报错排查。

在命令行运行 Python 脚本的本质非常直观:调用系统安装的 Python 解释器程序,并将需要执行的脚本文件路径作为参数传递给它。在 Windows 系统中,通常使用 python 脚本名.py 或 py 脚本名.py 执行;在 macOS 系统中,则标准使用 python3 脚本名.py。只要理清终端启动、路径定位和解释器查找这三项要素,无论在哪个平台都能迅速完成运行。

一、准备工作:启动终端并验证 Python 环境

在执行任何代码前,需要先打开系统的命令行交互窗口,并确认系统已经能够正确找到 Python 解释器。如果系统尚未安装 Python 或未正确注册环境变量,后续命令将无法识别。

1. Windows 系统的准备步骤

Windows 提供了“命令提示符”(CMD)和“PowerShell”两种常用终端。按下快捷键 Win + R 打开运行窗口,输入 cmd 并按回车,即可打开黑底白字的命令提示符窗口;也可以在开始菜单直接搜索“PowerShell”启动。

在打开的窗口中输入以下命令并回车,用于检查环境:

python --version
示例输出 Python 3.11.5

如果输出具体的版本号,说明 Python 已安装且环境变量有效。如果提示“'python' 不是内部或外部命令”,可以尝试执行 py --version。Windows 安装包自带的 Python 启动器(Python Launcher)常以 py 命令存在。

2. macOS 系统的准备步骤

在 macOS 中,默认的命令行工具是“终端”(Terminal)。可以通过按下 Command + 空格键 呼出聚焦搜索(Spotlight),输入 Terminal 后回车打开;也可以在“访达 > 应用程序 > 实用工具”中找到“终端”。

macOS 历史版本曾预装过 Python 2,但现代 Python 3 均以 python3 作为程序名。在终端中输入:

python3 --version
示例输出 Python 3.12.2

若正确返回版本号,表明环境准备就绪。如果提示 command not found: python3,则需要先通过官网安装包或 Homebrew 完成 Python 3 的安装。

Python脚本怎么在命令行运行:Windows与macOS操作指南
图 1:Python 脚本在命令行执行的标准生命周期四步法

二、核心操作:在命令行运行脚本的两种路径方式

为了进行完整演示,假定我们在本地编写了一个简单的 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
Windows 跨盘符切换提醒
在传统 CMD 窗口中,如果脚本保存在 D 盘或其他磁盘,单独执行 cd D:\Projects 不会自动跳转驱动器,必须加上 /d 参数,例如 cd /d D:\Projects;而在 PowerShell 中则无此限制,可直接跳转。

macOS 环境下的操作:

假设 demo.py 保存在 /Users/alice/projects 目录下:

cd /Users/alice/projects
python3 demo.py

执行后的命令行输出结果示例:

控制台输出结果 Hello! Python 脚本已成功在命令行运行。
当前使用的解释器路径: /usr/local/bin/python3

方式二:使用绝对路径直接运行(免切换目录)

如果命令行当前位于其他目录,且你不想或者不需要频繁切换工作目录(例如编写自动化批处理脚本或系统计划任务时),可以直接将脚本的完整物理路径传给 Python。

在 Windows 下(若路径包含空格,务必用双引号包裹路径):

python "C:\Users\Alice\Projects\demo.py"

在 macOS 下:

python3 /Users/alice/projects/demo.py
Python脚本怎么在命令行运行:Windows与macOS操作指南
图 2:工作目录与路径解析机制——相对路径与绝对路径的作用原理

三、系统机制差异: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 往往也能正确找到并运行脚本。

Python脚本怎么在命令行运行:Windows与macOS操作指南
图 3:Windows 与 macOS 在解释器寻找、命令规则与终端交互上的架构机制对照

四、进阶实战:传递命令行参数与虚拟环境运行

在实际生产与开发中,脚本往往不仅是静态运行,常常需要接收外部参数,或者在特定的隔离虚拟环境中执行。

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
控制台输出结果 接收到的所有原始参数: ['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 解释器虽然成功启动,但在终端当前所在的工作目录下没有找到对应名称的文件。
  • 排查步骤:
    1. 在 Windows 下执行 dir,或在 macOS 下执行 ls,列出当前目录下的全部文件。
    2. 仔细比对文件名拼写与大小写。
    3. 在 Windows 常见“已知文件扩展名被隐藏”的坑:若新建记事本并保存为 demo.py,实际完整文件名可能变成了 demo.py.txt。可以在文件夹选项中取消“隐藏已知文件类型的扩展名”进行核实。

3. 提示“ModuleNotFoundError: No module named 'xxx'”

  • 原因分析:代码运行所需的第三方包未安装在当前被调用的解释器环境中。常发生于系统中同时安装了多个 Python(如 Anaconda、系统自带、Homebrew 等)。
  • 解决办法:检查当前调用的是哪个 Python。在 Windows 运行 where python,在 macOS 运行 which python3。确保使用对应的 pip 安装依赖,例如执行 python -m pip install 库名,以保证安装与调用的环境绝对统一。
Python脚本怎么在命令行运行:Windows与macOS操作指南
图 4:命令行运行 Python 常见报错诊断与排查决策树

六、总结与最佳实践建议

在命令行运行 Python 脚本是每位开发者迈向工程化开发、自动化处理与服务端部署的必经之路。总结起来,建议在日常开发中形成以下习惯:

  1. 善用终端快捷技巧:在 Windows 资源管理器的文件路径栏直接输入 cmd 并回车,可直接在当前目录打开命令提示符;在 macOS 中,将访达中的脚本或文件夹直接拖拽入终端窗口,终端会自动补全其绝对路径,避免繁琐的手动输入。
  2. 保持命令规范统一:在 Windows 上遇到环境多版本并存时,优先使用官方启动器 py -3 脚本名.py;在 macOS 上养成写 python3 脚本名.py 的习惯。
  3. 依赖隔离优先:只要涉及第三方库的项目,优先在项目目录下通过 python -m venv venv 建立专属虚拟环境,在激活状态下运行脚本,彻底规避环境污染与版本冲突。
相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表