---
title: "Chạy Script Python trên Ubuntu: Hướng dẫn Toàn diện"
description: "Chạy một script Python trên Ubuntu là một kỹ năng cơ bản dành cho lập trình viên, quản trị hệ thống và nhà khoa học dữ liệu. Bất kể bạn đang tự động hóa công việc, vận hành máy chủ web, hay đào tạo mô hình máy học, việc hiểu phương pháp thực thi đúng là rất cần thiết."
url: https://cloudfly.vn/chay-script-python-tren-ubuntu-huong-dan-toan-dien
image: https://media.cloudfly.vn/posts/chay-script-python-tren-ubuntu.png
---

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

![description image](https://media.cloudfly.vn/posts/chay-script-python-tren-ubuntu.png)
## 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. Đảm bảo bạn sử dụng phiên bản [Ubuntu được hỗ trợ](https://releases.ubuntu.com/).
- Hiểu biết cơ bản về dòng lệnh Linux. 
- 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. 

## 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:

```bash
python3 --version
```

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

```bash
sudo apt install python3
```

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

```bash
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:

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

Tạo file mới: 

```bash
nano demo_ai.py
```

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

```python
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](https://numpy.org/), 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`:

```bash
sudo apt install python3-venv
```

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

```bash
python3 -m venv python-env
```

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

```bash
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:

```bash
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:

```bash
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:

```python
#!/usr/bin/env python3
```

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

```bash
chmod +x demo_ai.py
```

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

```bash
./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:

```bash
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:

```bash
python3 your_script_name.py
```

- Chạy với Python 2:

```bash
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ó:

```bash
sudo apt update
sudo apt install python3-venv
```

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

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

Sau khi kích hoạt, `python` và `pip` 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:

```bash
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:

```bash
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:

```bash
chmod +x your_script.py
```

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

```bash
./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:

```bash
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:

```bash
sudo apt update
sudo apt install python3
```

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

```bash
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:

```bash
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:

```bash
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:

```bash
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.py` và `python3 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.
