在CentOS上运行Python脚本前,需确保已安装Python 3(CentOS 7及以上默认安装Python 2.7,但建议使用Python 3)。
python3 --version,若未安装会提示“command not found”。sudo yum update;sudo yum install epel-release;sudo yum install python3 python3-pip。这是最常用的方法,无需修改脚本权限,适用于临时运行或调试。
cd命令进入脚本所在目录,例如:cd /home/user/scripts;python3 脚本名.py(如 python3 hello.py)。
python3 script.py arg1 arg2。若希望像执行二进制程序一样运行脚本(无需输入python3),需赋予脚本可执行权限并添加shebang。
nano)打开脚本,在第一行添加:#!/usr/bin/env python3(指定Python 3解释器路径);chmod +x 脚本名.py(如 chmod +x hello.py);./脚本名.py(如 ./hello.py)。若项目需要特定版本的Python或第三方库,建议使用虚拟环境(如venv),避免污染全局环境。
python3 -m venv myenv(myenv为虚拟环境目录名);source myenv/bin/activate(激活后命令行前会显示(myenv));python 脚本名.py运行(此时使用的Python和pip均为虚拟环境内的版本)。若需要脚本长期在后台运行(如Web服务、定时任务),可创建systemd服务。
/etc/systemd/system/myscript.service,内容如下:[Unit]
Description=My Python Script
After=network.target
[Service]
ExecStart=/usr/bin/python3 /path/to/script.py # 替换为脚本实际路径
Restart=always # 脚本崩溃后自动重启
User=your_username # 替换为运行脚本的用户(如root或普通用户)
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload;sudo systemctl start myscript.service;sudo systemctl enable myscript.service(系统启动时自动运行)。若需要脚本定期执行(如每天备份、每小时统计),可使用cron定时任务。
crontab -e;分钟 小时 日 月 周 命令),例如:
* * * * * /usr/bin/python3 /path/to/script.py;0 1 * * * /usr/bin/python3 /path/to/script.py;*/5 * * * * /usr/bin/python3 /path/to/script.py。setenforce 0临时禁用(测试用),或编辑/etc/selinux/config文件将SELINUX=enforcing改为SELINUX=permissive(需重启系统)。chmod 644 脚本名.py),若需写入文件,需添加写权限(chmod 755 脚本名.py)。