在服务器运维、自动化脚本和后端开发等领域,在 CentOS 系统上执行 Python(.py)脚本是一项极为常见且核心的技能,CentOS 作为企业级 Linux 发行版,其稳定性和安全性使其成为许多应用的首选平台,本文将系统性地介绍在 CentOS 环境下准备、执行和管理 Python 脚本的完整流程,从基础检查到进阶实践,旨在为用户提供一份清晰、实用的操作指南。
环境准备与检查
在执行任何 Python 脚本之前,首要任务是确认系统中是否已安装 Python 解释器,CentOS 的不同版本默认安装的 Python 版本可能有所不同。
检查 Python 版本
打开终端,使用以下命令来检查 Python 是否已安装及其版本,通常建议使用
python3
命令,因为 Python 2 已停止维护。python3 --version
如果系统已安装 Python 3,终端将返回版本号,
Python 3.6.8
,如果提示command not found
,则意味着需要安装 Python。安装 Python
如果系统中没有 Python 3,可以通过
yum
(CentOS 7)或dnf
(CentOS 8 及更高版本)包管理器轻松安装。包管理器 命令 适用系统版本 dnf
sudo dnf install python3 python3-pip
CentOS 8+, Stream yum
sudo yum install python3 python3-pip
CentOS 7 安装
python3-pip
是一个良好的习惯,它是 Python 的包管理工具,用于安装和管理项目所需的第三方库。
创建与执行脚本
环境准备就绪后,我们就可以创建并执行一个简单的 Python 脚本了。
创建示例脚本
使用
vim
或nano
等文本编辑器创建一个名为hello.py
的文件。nano hello.py
在文件中输入以下内容并保存:
#!/usr/bin/env python3 # 这是一个简单的 Python 脚本示例 import sys print("Hello, CentOS World!") print("当前使用的 Python 解释器路径:", sys.executable)
执行方法
在 CentOS 中,执行 Python 脚本主要有两种方式。
直接调用解释器
这是最直接、最常用的方法,通过明确指定
python3
命令来解释并运行脚本文件。python3 hello.py
执行后,终端会输出脚本中
print
函数的内容,这种方式无需对脚本文件做任何特殊处理,简单明了。使用 Shebang 使脚本可执行
这种方法更符合 Unix/Linux 的哲学,让脚本本身成为一个可执行程序。
添加 Shebang 行:确保脚本文件的第一行是
#!/usr/bin/env python3
,这行代码(称为 “shebang”)告诉操作系统使用哪个解释器来运行此脚本,使用/usr/bin/env python3
而不是硬编码路径(如/usr/bin/python3
)更具可移植性,因为它会自动在环境变量PATH
中查找python3
。赋予执行权限:使用
chmod
命令给脚本文件添加执行权限。chmod +x hello.py
直接运行脚本:你可以像执行其他命令一样直接运行脚本,注意,如果脚本不在系统的
PATH
路径下,需要使用 来指明其在当前目录。./hello.py
执行结果与方法一完全相同,但这种方式显得更为简洁和专业。
进阶实践与注意事项
在实际项目中,脚本往往会依赖第三方库,并且可能需要定时执行。
管理依赖项
对于复杂的项目,最佳实践是使用
requirements.txt
文件来管理所有依赖,通过pip3 freeze > requirements.txt
导出当前环境的依赖列表,在新的环境中,只需运行pip3 install -r requirements.txt
即可一键安装所有必需的库,确保了环境的一致性。使用 Cron 实现定时任务
若需要脚本按计划自动运行(如每日备份数据),可以使用
cron
服务,通过编辑 crontab 来添加定时任务:crontab -e
添加一行规则,每天凌晨 3 点执行一次
/home/user/scripts/backup.py
脚本:0 3 * * * /usr/bin/python3 /home/user/scripts/backup.py >> /var/log/backup.log 2>&1
这里,
>> /var/log/backup.log 2>&1
将脚本的标准输出和标准错误重定向到日志文件中,便于后续排查问题。
相关问答FAQs
我运行 python my_script.py
时提示 -bash: python: command not found
,该怎么办?
回答: 这个错误提示系统找不到名为 python
的命令,这通常有两个原因:
- 系统未安装 Python:请按照上文“环境准备与检查”部分的说明,使用
yum
或dnf
安装python3
。 - 命令名称不匹配:在较新的 CentOS 系统中,为了与系统自带的 Python 2 区分,Python 3 的命令是
python3
,尝试使用python3 my_script.py
来运行你的脚本,你可以通过ls -l /usr/bin/python*
查看系统中所有可用的 Python 命令。
我的脚本需要读取或写入只有 root 用户才能访问的文件,应该如何执行?
回答: 当脚本需要执行需要管理员权限的操作时(如修改系统配置、访问受保护的目录等),你需要在执行命令前加上 sudo
。
sudo python3 my_admin_script.py
系统会提示你输入当前用户的密码以确认身份,谨慎使用 sudo
执行来自不可信来源的脚本,因为它拥有完全的系统控制权限,可能会带来安全风险。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复