溫馨提示×

CentOS Python安裝后如何運行腳本

小樊
45
2025-10-20 00:35:06
欄目: 編程語言

一、前置準備:確認Python 3已安裝

在CentOS上運行Python腳本前,需確保已安裝Python 3(CentOS 7及以上默認安裝Python 2.7,但建議使用Python 3)。

  • 檢查Python 3版本:終端輸入 python3 --version,若未安裝會提示“command not found”。
  • 安裝Python 3
    1. 更新系統軟件包:sudo yum update;
    2. 安裝EPEL存儲庫(獲取Python 3):sudo yum install epel-release;
    3. 安裝Python 3及pip(包管理器):sudo yum install python3 python3-pip。

二、基礎運行方式:使用Python解釋器直接執行

這是最常用的方法,無需修改腳本權限,適用于臨時運行或調試。

  1. 導航到腳本目錄:使用cd命令進入腳本所在目錄,例如:cd /home/user/scripts;
  2. 運行腳本:在終端輸入 python3 腳本名.py(如 python3 hello.py)。
    • 若腳本需要命令行參數,可在腳本名后添加,例如:python3 script.py arg1 arg2。

三、賦予執行權限:直接運行腳本文件

若希望像執行二進制程序一樣運行腳本(無需輸入python3),需賦予腳本可執行權限并添加shebang。

  1. 添加shebang:用文本編輯器(如nano)打開腳本,在第一行添加:#!/usr/bin/env python3(指定Python 3解釋器路徑);
  2. 賦予執行權限:終端輸入 chmod +x 腳本名.py(如 chmod +x hello.py);
  3. 直接運行:在腳本所在目錄輸入 ./腳本名.py(如 ./hello.py)。

四、使用虛擬環境:隔離項目依賴

若項目需要特定版本的Python或第三方庫,建議使用虛擬環境(如venv),避免污染全局環境。

  1. 創建虛擬環境:在項目目錄下執行 python3 -m venv myenvmyenv為虛擬環境目錄名);
  2. 激活虛擬環境:終端輸入 source myenv/bin/activate(激活后命令行前會顯示(myenv));
  3. 運行腳本:在激活的虛擬環境中,直接使用python 腳本名.py運行(此時使用的Python和pip均為虛擬環境內的版本)。

五、后臺運行:創建systemd服務

若需要腳本長期在后臺運行(如Web服務、定時任務),可創建systemd服務。

  1. 創建服務文件:用文本編輯器創建/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
    
  2. 重載systemd配置sudo systemctl daemon-reload;
  3. 啟動服務sudo systemctl start myscript.service;
  4. 設置開機自啟sudo systemctl enable myscript.service(系統啟動時自動運行)。

六、定時運行:使用cron任務

若需要腳本定期執行(如每天備份、每小時統計),可使用cron定時任務。

  1. 編輯當前用戶的crontab:終端輸入 crontab -e;
  2. 添加定時任務:在文件末尾添加一行(格式:分鐘 小時 日 月 周 命令),例如:
    • 每分鐘執行一次:* * * * * /usr/bin/python3 /path/to/script.py;
    • 每天凌晨1點執行:0 1 * * * /usr/bin/python3 /path/to/script.py;
    • 每5分鐘執行一次:*/5 * * * * /usr/bin/python3 /path/to/script.py。
  3. 保存退出:編輯器提示“saved”后,cron會自動加載新任務。

注意事項

  • SELinux配置:若系統啟用了SELinux(默認開啟),可能會阻止腳本訪問某些資源??赏ㄟ^setenforce 0臨時禁用(測試用),或編輯/etc/selinux/config文件將SELINUX=enforcing改為SELINUX=permissive(需重啟系統)。
  • 文件權限:確保腳本文件對運行用戶可讀(chmod 644 腳本名.py),若需寫入文件,需添加寫權限(chmod 755 腳本名.py)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女