运行Python脚本需确保Python已安装、PATH配置正确、脚本无语法错误;通过which/where、--version确认解释器路径与版本;shebang仅在Linux/macOS生效且需chmod+x;模块报错需检查工作目录、sys.path、pip list及运行方式。

直接在终端里敲 python script.py 就能跑,但前提是 Python 已装好、路径配对、脚本没语法错误——这三处出问题,90% 的“运行不了”就卡在这儿。
怎么确认 Python 命令到底调的是哪个解释器
很多人输 python 没反应,或跑出错版本(比如想用 Python 3 却调了 Python 2),根本原因是系统里有多个 Python,python 这个别名没指向你想要的那个。
- 执行
which python(macOS/Linux)或where python(Windows)看实际路径 - 执行
python --version和python3 --version对比输出,别默认python就是 3.x - Mac 上用 Homebrew 装的 Python,
python往往不注册,得用python3;Windows 安装时没勾“Add Python to PATH”,命令行就压根不认识python - 临时指定解释器:直接用绝对路径,比如
/usr/local/bin/python3.11 script.py
脚本第一行 #!/usr/bin/env python3 到底有没有用
这行叫 shebang,在 Linux/macOS 下双击运行或 ./script.py 才生效;Windows 完全忽略它。但它不是万能的——权限和环境得先到位。
- 必须先给脚本加可执行权限:
chmod +x script.py,否则./script.py报 “Permission denied” -
env python3查的是$PATH里的第一个python3,不是你conda activate后的当前环境——虚拟环境中用 shebang 可能跑错解释器 - Windows 用户写这行没坏处,但也没用;别指望它让 .py 文件双击运行(那是靠文件关联,不是 shebang)
- 如果脚本依赖特定包(比如
requests),而该包只装在某个 venv 里,shebang 不会自动激活环境,得手动进 venv 再运行
运行时报 ModuleNotFoundError 或 ImportError 怎么快速定位
不是代码写错了,而是 Python 根本没在对的地方找模块。路径、工作目录、安装方式,三者一错就报这个错。
- 检查当前工作目录:
pwd(macOS/Linux)或cd(Windows),Python 的sys.path[0]默认是脚本所在目录,不是你终端当前目录 - 确认包是否装对环境:运行
python -m pip list | grep requests(把requests换成你要的包名),别在系统 Python 里装,却用 venv 的 Python 跑 - 相对导入出错?说明你不是用
python -m package.module方式运行,而是直接python package/module.py——后者会让__name__变成__main__,破坏包结构 - 临时加路径?可以用
python -c "import sys; sys.path.insert(0, '/path/to/lib'); import mymod"快速验证,但别长期这么干
真正麻烦的从来不是“怎么运行”,而是“运行时用的是谁的 Python、在哪找的模块、当前目录在哪、环境变量有没有污染”。这些细节不打提前量,等报错再查,花的时间比写脚本还多。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











