Chạy file Python trên Linux là việc thực thi một chương trình được viết bằng Python thông qua Terminal hoặc trực tiếp như một file thực thi trên hệ điều hành Linux. Trong bài viết này, mình sẽ hướng dẫn bạn quy trình chuẩn để khởi tạo, biên tập và thực thi một chương trình Python hoàn chỉnh trên Linux mà không cần phụ thuộc vào các IDE đồ họa phức tạp.
Những điểm chính
- Chuẩn bị trước khi chạy: Biết được các yêu cầu cần thiết trước khi bắt đầu, bao gồm việc cài đặt Python và có một trình soạn thảo văn bản.
- Cách chạy file Python trên Linux chi tiết: Nắm vững quy trình 4 bước để tạo, viết mã, cấp quyền và thực thi một file Python trên Linux.
- Các công cụ soạn thảo thay thế: Biết đến các trình soạn thảo văn bản khác như Vim và Gedit để có thêm lựa chọn khi viết mã.
- Các lỗi thường gặp: Nhận biết và biết cách khắc phục các lỗi phổ biến như “Permission denied”, “No such file or directory” và các vấn đề về phiên bản.
- Lưu ý khi chạy file Python: Nắm được các lưu ý quan trọng để chạy script một cách an toàn và hiệu quả, từ việc sử dụng môi trường ảo đến xử lý lỗi định dạng dòng và chạy ngầm.
- Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề thực tế như khi nào cần dùng shebang, cách chạy script từ bất kỳ đâu và tại sao đã cấp quyền mà vẫn không chạy được.
Chuẩn bị trước khi chạy file Python trên Linux
Trước khi tìm hiểu cách chạy script Python trên Linux, bạn cần đảm bảo hệ thống đã đáp ứng một số yêu cầu cơ bản sau:
- Cài đặt Python: Trước tiên, bạn kiểm tra xem Python đã có sẵn trên máy của mình hay chưa. Đa số bản phân phối Linux đều cài sẵn Python, nhưng nếu thiếu bạn có thể cài bằng trình quản lý gói của distro. Chẳng hạn, trên Ubuntu bạn có thể dùng lệnh
sudo apt-get install python3để cài Python 3. - Trình soạn thảo văn bản: Bạn cần một trình soạn thảo để viết mã Python, có thể là các công cụ chạy trong terminal như Vim, Nano hoặc editor giao diện đồ họa như Gedit, Visual Studio Code tùy theo thói quen sử dụng.

Cách chạy file Python trên Linux chi tiết
Bước 1: Khởi tạo file Python bằng touch
Đầu tiên, bạn sử dụng lệnh touch để tạo nhanh một file rỗng. Đây là cách nhanh nhất để khai báo sự tồn tại của file trước khi soạn thảo.
touch hello.py
Bước 2: Soạn thảo mã nguồn với Nano
nano là trình soạn thảo văn bản chạy trên terminal có giao diện đơn giản và thân thiện cho người mới bắt đầu. Đầu tiên, bạn mở file để chỉnh sửa:
nano hello.pyTiếp theo, bạn nhập đoạn mã tương tự như sau vào cửa sổ soạn thảo:
print("Hello, Linux Terminal!")Sau đó, bạn nhấn tổ hợp phím Ctrl + O để lưu nội dung, rồi nhấn Enter để xác nhận tên file. Cuối cùng bạn nhấn Ctrl + X để thoát khỏi Nano.

Bước 3: Cấp quyền thực thi
Mặc định trên Linux, một file mới tạo sẽ không có quyền tự thực thi. Để chạy file như một chương trình độc lập, bạn cần cấp quyền execute bằng lệnh chmod:
chmod +x hello.py
Bước 4: Thực thi chương trình Python
Có hai cách để chạy đoạn mã bạn vừa tạo:
Cách 1: Sử dụng trình thông dịch Python
Đây là cách phổ biến nhất, bạn gọi trực tiếp trình thông dịch python3 để đọc file bằng lệnh sau:
python3 hello.py
Cách 2: Chạy trực tiếp như một tệp thực thi
Phương pháp này cho phép người dùng chạy file mà không cần gõ từ khóa python3 ở phía trước. Bạn mở file Python bằng trình soạn thảo và thêm dòng mã sau vào dòng đầu tiên của file hello.py:
#!/usr/bin/env python3
Sau đó bạn thực thi trực tiếp:
./hello.py
Các công cụ soạn thảo thay thế
Ngoài nano, Linux cung cấp nhiều công cụ soạn thảo khác tùy thuộc vào nhu cầu và môi trường sử dụng.
1. Sử dụng Vim
vim là trình soạn thảo mạnh mẽ với các phím tắt chuyên dụng, phù hợp cho việc lập trình chuyên sâu.
vim hello.pyBạn sử dụng Vim vào file hello.py:

Kết quả thực hiện được:

2. Sử dụng Gedit
Nếu bạn đang sử dụng Linux có giao diện Desktop (như Ubuntu Desktop, Fedora Workstation), bạn có thể dùng gedit để soạn thảo trong cửa sổ đồ họa.
$ gedit hello.pyKhi dùng gedit vào file hello.py, bạn sẽ nhận được giao diện đồ họa như sau:

Kết quả hiển thị sau khi bạn lưu lại và chạy thử:

Các lỗi thường gặp khi chạy file Python trên Linux
Trong quá trình thực thi các tập tin Python trên Linux, bạn có thể gặp phải một số lỗi phổ biến. Dưới đây là nguyên nhân và phương án xử lý chi tiết:
Lỗi từ chối quyền truy cập
- Thông báo lỗi:
PermissionError: [Errno 13] Permission deniedhoặcbash: ./script.py: Permission denied - Nguyên nhân: File script chưa được cấp quyền thực thi.
- Khắc phục: Bạn sử dụng lệnh chmod để cấp quyền cho file:
chmod +x [Python file]Lỗi không tìm thấy file
- Thông báo lỗi:
python3: can't open file 'script.py': [Errno 2] No such file or directory - Nguyên nhân: Bạn đang đứng sai thư mục hoặc đường dẫn đến file không chính xác.
- Khắc phục: Bạn kiểm tra lại thư mục hiện tại bằng lệnh ls hoặc sử dụng đường dẫn tuyệt đối khi chạy lệnh dưới đây:
python3 /path/to/pythonscript.pyLỗi phiên bản Python không tương thích
- Nguyên nhân: Hệ thống Linux thường cài đặt song song nhiều phiên bản Python (2.x và 3.x). Một số script chỉ chạy đúng trên một phiên bản cụ thể.
- Khắc phục: Thay vì gọi lệnh python chung chung (thường mặc định là Python 2 trên các hệ thống cũ), bạn hãy chỉ định rõ phiên bản mong muốn:
python3 script.py
# Hoặc nếu cần chạy bản cũ:
python2 script.pyLỗi không tìm thấy trình thông dịch (Interpreter Not Found)
- Thông báo lỗi:
bash: python3: command not found - Nguyên nhân: Python chưa được cài đặt trên hệ thống hoặc đường dẫn môi trường (PATH) bị thiếu.
- Khắc phục: Bạn cần cài đặt Python thông qua trình quản lý gói (Package Manager) của hệ điều hành. Sau đó, đảm bảo đường dẫn đến Python đã được thêm vào biến môi trường hệ thống.

Lưu ý khi chạy file Python trên Linux
- Xác định chính xác phiên bản: Trên nhiều bản phân phối Linux, lệnh python mặc định có thể trỏ về phiên bản Python 2.x đã lỗi thời. Để tránh lỗi cú pháp, bạn hãy gọi bằng lệnh python3 hoặc kiểm tra kỹ phiên bản hiện hành.
- Cấu hình Shebang: Nếu bạn muốn chạy file trực tiếp theo kiểu
./script.py, dòng đầu tiên của mã nguồn bắt buộc phải khai báo đường dẫn trình thông dịch. Nếu thiếu dòng này, hệ thống sẽ không biết dùng chương trình nào để mở file. - Sử dụng môi trường ảo: Bạn tránh cài đặt các thư viện trực tiếp vào môi trường Python gốc của hệ điều hành để ngăn chặn xung đột làm hỏng hệ thống, thay vào đó, hãy sử dụng venv hoặc conda để cô lập môi trường cho từng dự án.
- Lỗi định dạng dòng: Nếu bạn soạn thảo code trên Windows và copy sang Linux, file thường bị dính ký tự xuống dòng thừa (
\r), gây lỗi SyntaxError hoặc lỗi Shebang. Bạn hãy sử dụng công cụ dos2unix để chuyển đổi file về chuẩn Unix. - Cơ chế chạy ngầm: Khi chạy các script dài hạn, nếu bạn đóng Terminal, script sẽ bị tắt theo. Để duy trì hoạt động, bạn hãy sử dụng các công cụ như nohup, screen, tmux hoặc cấu hình thành một Systemd Service.

Câu hỏi thường gặp
Khi nào cần thêm dòng shebang vào file Python?
Shebang cần thiết khi bạn muốn chạy file Python trực tiếp bằng lệnh ./script.py mà không phải gõ thêm python3 phía trước. Dòng này giúp hệ thống biết phải dùng trình thông dịch nào để thực thi file, đặc biệt hữu ích cho script chạy như công cụ hệ thống hoặc cron job.
Tại sao đã chmod +x rồi mà vẫn không chạy được file Python?
Nếu đã cấp quyền thực thi nhưng vẫn bị lỗi, nguyên nhân thường gặp là thiếu shebang, sai đường dẫn interpreter trong shebang hoặc file không được gọi từ đúng thư mục. Bạn nên kiểm tra lại dòng đầu tiên của file, chạy ls -l để xem quyền và đảm bảo đang đứng đúng đường dẫn khi gõ ./script.py.
Làm sao để chạy script Python từ bất cứ thư mục nào trên Linux?
Bạn có thể đặt script vào thư mục đã có trong PATH hoặc thêm thư mục chứa script vào biến môi trường PATH trong file ~/.bashrc hay ~/.zshrc. Sau đó, chỉ cần gõ tên script (đã có shebang và chmod +x) là có thể chạy ở bất cứ đâu trong hệ thống.
Hy vọng những hướng dẫn về cách chạy file Python trên Linux trong bài viết trên đã hỗ trợ bạn thực hiện các dự án lập trình thuận lợi hơn. Ngoài ra, Linux còn cung cấp nhiều công cụ mạnh mẽ để hỗ trợ lập trình viên tối ưu hiệu suất hệ thống. Bạn có thể tìm đọc các bài hướng dẫn chi tiết dưới đây:




