Chạy Script Python trên Ubuntu: Hướng dẫn Toàn diện

Ngày đăng: July 17, 2025

PythonUbuntu

description image

Những điểm chính cần nhớ

  • Cách trực tiếp nhất để chạy một script Python trên Ubuntu là sử dụng lệnh python3 your_script.py trong terminal.
  • Luôn luôn sử dụng môi trường ảo (venv) để tách biệt các phụ thuộc của dự án và tránh xung đột với các gói Python của hệ thống.
  • Bạn có thể làm cho script chạy như một lệnh hệ thống bằng cách thêm dòng shebang #!/usr/bin/env python3 ở đầu file và cấp quyền thực thi với chmod +x.
  • Các thư viện bên thứ ba cần thiết cho script phải được cài trong môi trường ảo đang hoạt động bằng lệnh pip install.
  • Để rõ ràng và tương thích, hãy sử dụng rõ ràng lệnh python3 vì Python 2 đã lỗi thời và không được cài trên các hệ thống Ubuntu hiện đại.
  • Các lỗi phổ biến như "Permission denied" hoặc "ModuleNotFoundError" có thể được sửa nhanh bằng cách cấp quyền thực thi hoặc cài đặt gói vào môi trường phù hợp.

Yêu cầu trước

Để theo dõi hướng dẫn này, bạn cần:

  • Một máy chủ chạy Ubuntu cùng người dùng không phải root có quyền sudo và firewall đang hoạt động. Tham khảo hướng dẫn initial server setup with Ubuntu và đảm bảo bạn sử dụng phiên bản Ubuntu được hỗ trợ.
  • Hiểu biết cơ bản về dòng lệnh Linux. Nếu cần, hãy xem lại Linux command line primer.
  • Trước khi bắt đầu, chạy lệnh sudo apt-get update để chắc chắn hệ thống có các bản cập nhật mới nhất và cập nhật an ninh.

Lưu ý: Các hướng dẫn này áp dụng cho các phiên bản Ubuntu hiện đại nhất: 24.04, 22.04, và 20.04. Nếu bạn đang dùng phiên bản Ubuntu <= 18.04, hãy nâng cấp lên phiên bản mới hơn vì Ubuntu không còn hỗ trợ các bản này. Bộ sưu tập hướng dẫn nâng cấp Ubuntu sẽ giúp bạn.

Chạy Script Python trên Ubuntu

Thực hiện các bước sau:

  1. Thiết lập môi trường Python
  2. Tạo script Python
  3. Cài đặt các gói cần thiết
  4. Chạy script Python
  5. Làm cho script có thể thực thi (tùy chọn)

Bước 1 - Cách thiết lập môi trường Python

Ubuntu 24.04 đã trang bị sẵn Python 3. Mở terminal và chạy:

python3 --version

Nếu Python 3 chưa được cài, hãy cài bằng:

sudo apt install python3

Tiếp theo, cài trình quản lý gói pip cho Python 3:

sudo apt install python3-pip

Bước 2 - Cách tạo script Python

Đi đến thư mục bạn muốn đặt script:

cd ~/path-to-your-script-directory

Tạo file mới:

nano demo_ai.py

Viết hoặc dán đoạn code sau:

from sklearn.tree import DecisionTreeClassifier
import numpy as np
import random

# Tạo dữ liệu mẫu
x = np.array([[i] for i in range(1, 21)])  # Số từ 1 đến 20
y = np.array([i % 2 for i in range(1, 21)])  # 0 cho số chẵn, 1 cho số lẻ

# Tạo và huấn luyện mô hình
model = DecisionTreeClassifier()
model.fit(x, y)

# Hàm dự đoán số lẻ hay chẵn
def predict_odd_even(number):
    prediction = model.predict([[number]])
    return "Odd" if prediction[0] == 1 else "Even"

if __name__ == "__main__":
    num = random.randint(0, 20)
    result = predict_odd_even(num)
    print(f"The number {num} is an {result} number.")

Lưu và thoát trình soạn thảo.

Bước 3 - Cách cài đặt các gói cần thiết

Bạn cần cài các thư viện đã dùng:

Thư viện đầu tiên là NumPy, dùng để tạo dữ liệu đào tạo.

Từ Python 3.11 và pip 22.3 có PEP 668 đánh dấu môi trường Python gốc là "được quản lý bên ngoài" nên nếu cài trực tiếp pip3 scikit-learn numpy sẽ bị lỗi.

Bạn cần tạo môi trường ảo để tách biệt các gói Python hệ thống:

Cài đặt venv:

sudo apt install python3-venv

Tạo môi trường ảo trong thư mục làm việc:

python3 -m venv python-env

Kích hoạt môi trường:

source python-env/bin/activate

Terminal sẽ hiển thị tên môi trường như (python-env) ubuntu@user:.

Cài đặt các gói:

pip install scikit-learn numpy

Thư viện random là phần chuẩn của Python, không cần cài thêm.

Bước 4 - Cách chạy script Python

Sau khi đã có gói cần thiết, chạy script:

python3 demo_ai.py

Bạn sẽ thấy kết quả in ra như:

The number 5 is an Odd number.
The number 17 is an Odd number.

Bước 5 - Cách làm script có thể thực thi [TÙY CHỌN]

Để chạy script trực tiếp mà không cần gọi python3, bạn thêm dòng shebang ở đầu file:

#!/usr/bin/env python3

Lưu và thoát, rồi cấp quyền thực thi:

chmod +x demo_ai.py

Bây giờ có thể chạy trực tiếp:

./demo_ai.py

Quản lý cả Python 2 và Python 3 trên cùng hệ thống

Để quản lý hiệu quả, dùng lệnh gọi rõ ràng cho các script đơn giản, và dùng môi trường ảo cho dự án. Giúp tránh xung đột phiên bản và phụ thuộc.

Lưu ý quan trọng: Python 2 đã lỗi thời, không còn nhận cập nhật bảo mật từ 2020, chỉ dùng cho các ứng dụng cũ không thể nâng cấp.

Cách xác định phiên bản Python trên hệ thống

Kiểm tra phiên bản Python 3 và Python 2:

python3 --version
python2 --version

Nếu python2 báo lỗi lệnh không tìm thấy có nghĩa chỉ có Python 3.

Cách chạy script rõ ràng

  • Chạy với Python 3:
python3 your_script_name.py
  • Chạy với Python 2:
python2 your_script_name.py

Quản lý dự án bằng môi trường ảo (thực hành tốt nhất)

Môi trường ảo là thư mục tách biệt chứa phiên bản Python và thư viện riêng, tránh "nghịch cảnh phụ thuộc".

Tạo môi trường Python 3 với venv

Cài đặt venv nếu chưa có:

sudo apt update
sudo apt install python3-venv

Tạo và kích hoạt môi trường:

python3 -m venv my-project-env
source my-project-env/bin/activate

Sau khi kích hoạt, pythonpip sẽ dùng phiên bản trong môi trường.

Tạo môi trường Python 3 với virtualenv

Dự án cũ cần dùng virtualenv:

Cài đặt:

sudo apt install python3 python3-pip virtualenv

Lưu ý: Ubuntu 20.04+ có thể cần enable universe repo hoặc tải Python 2 từ source nếu không có sẵn qua apt.

Tạo và kích hoạt virtualenv Python 2:

virtualenv -p /usr/bin/python2 my-legacy-env
source my-legacy-env/bin/activate

Dùng lệnh deactivate để thoát môi trường ảo.

Hiểu về dòng shebang

Dòng shebang ở đầu file chỉ định trình thông dịch khi chạy file trực tiếp:

  • Python 3: #!/usr/bin/env python3
  • Python 2: #!/usr/bin/env python2

Bạn phải cấp quyền chạy cho file:

chmod +x your_script.py

Rồi chạy trực tiếp:

./your_script.py

Muốn chạy script ở bất kỳ đâu, di chuyển nó vào thư mục trong PATH như /usr/local/bin.

Khắc phục lỗi thường gặp

Khi gặp lỗi, đó là dấu hiệu máy tính đưa manh mối để sửa, thường liên quan đến quyền hạn, đường dẫn file hoặc cài đặt Python.

1. Permission Denied

Lỗi:

bash: ./your_script.py: Permission denied

Nguyên nhân: File không có quyền thực thi.

Cách sửa:

chmod +x your_script.py

2. Command Not Found

Lỗi:

bash: python: command not found
bash: python3: command not found

Nguyên nhân: Python chưa cài hoặc không có trong biến môi trường PATH.

Cách sửa:

sudo apt update
sudo apt install python3

Nếu muốn lệnh python trỏ đến python3:

sudo apt install python-is-python3

3. No Such File or Directory

Lỗi:

python3: can't open file 'your_script.py': [Errno 2] No such file or directory

Nguyên nhân: Chạy file không tồn tại hoặc tên sai.

Cách sửa:

  • Kiểm tra thư mục hiện tại bằng pwd.
  • Liệt kê file trong thư mục với ls để kiểm tra đúng tên.
  • Di chuyển đến thư mục đúng với cd.

Các câu hỏi thường gặp (FAQs)

1. Làm sao chạy file .py trên Ubuntu?

Mở terminal, đến thư mục file nằm bằng cd, rồi chạy:

python3 your_script_name.py

2. Tại sao bị “Permission denied” khi chạy script?

File chưa được cấp quyền thực thi.

Sửa bằng:

chmod +x your_script_name.py

3. Có cần cài Python trên Ubuntu không?

Không cần nếu dùng các phiên bản hiện đại (20.04 trở lên) vì Python 3 đã được cài sẵn.

Kiểm tra bằng:

python3 --version

Chỉ cài nếu dùng phiên bản Ubuntu cũ hoặc Python bị gỡ bỏ.

4. Khác biệt giữa chạy python script.pypython3 script.py là gì?

Lệnh python có thể trỏ đến Python 2 nếu được cài, hoặc không tồn tại trên Ubuntu mới.

Lệnh python3 chắc chắn chạy Python phiên bản 3.

Khuyến nghị dùng python3 để rõ ràng và tránh lỗi do Python 2 đã lỗi thời.

Kết luận

Bạn đã học được cách chạy thành công các script Python trên hệ thống Ubuntu. Từ lệnh cơ bản python3 script.py đến cách làm script có thể chạy trực tiếp với shebang và chmod, cách quản lý phụ thuộc dự án bằng môi trường ảo, xử lý nhiều phiên bản Python, và khắc phục lỗi phổ biến. Với kỹ năng này, bạn sẵn sàng triển khai code Python hiệu quả cho mọi dự án từ tự động hóa đơn giản đến ứng dụng phức tạp.

Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly
Chia sẻ

0 câu trả lời