在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
)。