在Linux系统中调用Python是开发者和系统管理员的常见需求,得益于Linux对Python的原生支持,操作既灵活又高效,以下是详细方法及最佳实践:
直接使用终端命令
调用默认Python版本
python
输入后进入交互式环境(按 Ctrl+D
退出)。
注意:现代Linux系统通常将 python
指向Python 3,若需明确版本,使用 python3
。
执行Python脚本
python3 /路径/脚本.py
或添加执行权限后直接运行:
chmod +x script.py # 添加可执行权限 ./script.py # 直接运行(需Shebang支持)
Shebang行指定解释器
在脚本首行添加Python路径,系统自动调用对应解释器:
print("Hello, Linux!")
保存为 script.py
并运行:
./script.py
使用虚拟环境(推荐)
隔离项目依赖,避免系统污染:
python3 -m venv myenv # 创建虚拟环境 source myenv/bin/activate # 激活环境 python script.py # 在虚拟环境中执行 deactivate # 退出环境
脚本中调用其他Python程序
subprocess
模块
import subprocess # 执行命令并捕获输出 result = subprocess.run(["python3", "other_script.py"], capture_output=True, text=True) print(result.stdout) # 调用系统命令(如ls) subprocess.run(["ls", "-l"])
os.system
(简单场景)
import os os.system("python3 other_script.py")
通过系统调度任务调用
Cron定时任务
编辑Cron表:
crontab -e
添加行(每天10:30运行):
30 10 * * * /usr/bin/python3 /home/user/script.py
Systemd服务(后台常驻)
创建服务文件 /etc/systemd/system/myscript.service
:
[Unit] Description=My Python Script [Service] ExecStart=/usr/bin/python3 /path/to/script.py Restart=on-failure [Install] WantedBy=multi-user.target
启用服务:
sudo systemctl start myscript sudo systemctl enable myscript
调试与错误处理
- 查看Python版本:
python3 --version
- 依赖安装:
pip3 install requests # 安装第三方库
- 常见错误:
Command not found
→ 安装Python:sudo apt install python3
(Debian/Ubuntu)。Permission denied
→ 运行chmod +x script.py
。- 版本冲突 → 使用
python3
或虚拟环境明确版本。
最佳实践
- 明确版本:始终使用
python3
避免Python 2/3混淆。 - 虚拟环境:隔离依赖,保证项目可移植性。
- 路径规范:脚本中使用绝对路径或相对路径时检查当前工作目录(
os.getcwd()
)。 - 日志记录:长期运行的任务添加日志(如
logging
模块)。
Linux调用Python的核心方法包括终端命令、Shebang行、虚拟环境、子进程调用及系统任务调度,关键点在于:
- 使用
python3
明确版本, - 生产环境依赖隔离(venv),
- 后台任务用Systemd/Cron托管。
遵循这些实践可提升脚本的健壮性和可维护性。
引用说明:
- Python官方文档:docs.python.org
- Linux man手册:
man python3
、man crontab
- Systemd指南:freedesktop.org
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5237.html