在Linux系统中运行Python文件是开发者和系统管理员常见的操作,掌握多种运行方法能应对不同场景需求,本文将详细介绍从基础准备到高级运行技巧的全流程,确保你能顺利执行.py文件。

运行前的准备工作:确认Python环境
在运行.py文件前,需确保Linux系统已安装Python解释器,大多数Linux发行版默认预装Python,但版本可能不同(如Python 2.7或Python 3.x),可通过终端输入以下命令检查Python安装情况及版本:
python3 --version # 检查Python 3版本 python --version # 检查默认Python版本(可能指向Python 2或3) which python3 # 查找Python 3安装路径 which python # 查找默认Python解释器路径
若未安装Python,可通过包管理器安装(以Ubuntu/Debian为例):
sudo apt update sudo apt install python3 python3-pip # 安装Python 3及pip包管理器
以下是常用检查命令的对比说明:
| 命令 | 作用说明 | 示例输出(可能) |
|---|---|---|
python3 --version |
显示Python 3的具体版本号 | Python 3.8.10 |
python --version |
显示系统默认Python版本(可能为2) | Python 2.7.18 |
which python3 |
显示Python 3的可执行文件路径 | /usr/bin/python3 |
运行.py文件的五种常用方法
方法1:直接通过Python解释器运行(最基础)
这是最直接的方式,无需额外配置,适合临时执行脚本,操作步骤如下:
- 打开终端,使用
cd命令切换到.py文件所在目录,或直接输入文件的完整路径(如/home/user/script.py)。 - 执行命令:
python3 文件名.py # 强制使用Python 3解释器 # 或 python 文件名.py # 使用系统默认Python解释器(需确认版本兼容性)
示例:若文件test.py位于当前目录,执行python3 test.py即可运行。
注意事项:

- 若脚本依赖第三方库,需确保已通过
pip3 install 库名安装。 - 若提示
ModuleNotFoundError,可能是依赖未安装或Python环境路径未配置正确。
方法2:赋予执行权限后直接运行(适合频繁调用)
通过为.py文件添加可执行权限,可直接像shell脚本一样运行,无需每次输入python3命令。
- 添加可执行权限:
chmod +x 文件名.py
- 检查文件开头是否有“shebang行”(Linux脚本标识):若无,需添加
#!/usr/bin/env python3(推荐)或#!/usr/bin/python3(指定绝对路径),确保系统使用正确的Python解释器。 - 运行文件:
./文件名.py # 需在文件所在目录执行,或使用完整路径(如`/home/user/文件名.py`)
示例:修改test.py,在首行添加#!/usr/bin/env python3,保存后执行chmod +x test.py,再通过./test.py运行。
注意事项:
- 若shebang行路径错误(如指向不存在的Python解释器),运行时会报错“bad interpreter: No such file or directory”。
- 建议使用
#!/usr/bin/env python3而非硬编码路径,提高脚本在不同系统上的兼容性。
方法3:在虚拟环境中运行(推荐开发场景)
虚拟环境能隔离项目依赖,避免系统Python库冲突,是Python开发的最佳实践。
- 创建虚拟环境(以
venv为例,Python 3内置):python3 -m venv myenv # 在当前目录创建名为myenv的虚拟环境
- 激活虚拟环境:
source myenv/bin/activate # 激活后终端提示符会显示(myenv)
- 安装依赖并运行:
pip install 库名 # 在虚拟环境中安装项目依赖 python 文件名.py # 使用虚拟环境中的Python解释器运行
- 退出虚拟环境:
deactivate
优势:不同项目的依赖互不干扰,且可自由切换Python版本(如使用conda创建虚拟环境)。
方法4:交互式运行(适合调试和测试)
对于简短脚本或函数,可通过交互式环境逐行执行代码,便于调试。

- 启动Python交互式环境:
python3 # 或直接在终端输入python(若默认为Python 3)
- 使用
exec()函数执行.py文件内容:>>> exec(open('文件名.py').read()) # 读取文件内容并执行 - 退出交互式环境:输入
exit()或按Ctrl+D。
适用场景:快速测试脚本片段、查看变量值,不适合执行复杂或依赖外部文件的脚本。
方法5:调试运行(定位代码错误)
当脚本运行出错时,可通过Python内置调试器pdb定位问题。
- 以调试模式运行.py文件:
python3 -m pdb 文件名.py
- 常用调试命令:
n(next):执行下一行代码(不进入函数)。c(continue):继续运行至脚本结束或断点。q(quit):退出调试器。p 变量名(print):打印变量当前值。b 行号(break):在指定行设置断点。
示例:执行python3 -m pdb test.py后,输入n逐行执行,遇到错误时用p 变量名查看变量状态,快速定位bug。
高级运行场景补充
- 后台运行:若脚本需长期执行(如服务程序),可通过
nohup或&实现后台运行,避免终端关闭后进程终止:nohup python3 文件名.py > output.log 2>&1 & # 后台运行并输出日志到output.log
- 定时运行:结合
crontab实现定时任务,例如每天凌晨2点运行脚本:crontab -e # 编辑crontab配置 # 添加行:0 2 * * * /usr/bin/python3 /home/user/文件名.py
相关问答FAQs
Q1:运行.py文件时提示“Permission denied”,如何解决?
A:“Permission denied”表示文件无执行权限,可通过chmod +x 文件名.py添加权限,或直接使用python3 文件名.py运行(无需权限),若已添加权限仍报错,检查文件shebang行是否正确(如#!/usr/bin/env python3),或确保文件所有者有执行权限。
Q2:如何指定使用特定Python版本运行.py文件?
A:若系统安装多个Python版本(如Python 3.8和3.10),可通过以下方式指定:
- 直接使用版本号命令:
python3.10 文件名.py(需确保python3.10已安装)。 - 创建软链接:
sudo ln -s /usr/bin/python3.10 /usr/bin/python(覆盖默认Python,谨慎操作)。 - 在虚拟环境中指定:使用
conda create -n myenv python=3.10创建指定版本的虚拟环境,激活后运行脚本。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32551.html