Hướng dẫn cài đặt Flask trên Ubuntu 20.04

flask ubuntu

Flask là một mini web framework miễn phí mã nguồn mở được viết bằng python và được thiết kế để giúp các nhà phát triển có thể build các ứng dụng web an toàn, dễ mở rộng và bảo trì. Flask được xây dựng chủ yếu dựa trên Werkzeug và Jinja2 và dùng làm template engine.

Không giống như web framework khác sử dụng python như Django, mặc định thì Flask không chứa ORM, form valication, hay bất kỳ các tính năng được cung cấp bởi các thư viện third-party nào khác. Flask được xây dựng với các tiện ích mở rộng – là python packages bổ sung chức năng cho ứng dụng Flask.

Có nhiều cách thức khác nhau để bạn có thể cài đặt được Flask trên Ubuntu.

Flask packages có sẵn trong repository Ubuntu bản official và có thể được cài đặt bằng cách sử dụng apt package manager. Đây là cách đơn giản nhất để cài đặt Flask trên Ubuntu 20.04, nhưng không linh hoạt như cách cài đặt trong môi trường ảo hóa. Ngoài ra, phiên bản Flask trong repository Ubuntu đôi khi còn có thể bị lạc hậu so với phiên bản chính thức mới nhất mà Flask cung cấp.

Môi trường ảo hóa (virtual environments) cho phép bạn tạo ra một môi trường biệt lập cho các dự án python khác nhau. Theo cách này, bạn có thể có nhiều môi trường chạy Flask khác nhau ngay trên thiết bị máy tính của mình và có thể cài đặt được nhiều phiên bản Flask khác nhau với các phiên bản module khác nhau mà không cần phải lo lắng việc bị ảnh hưởng đến quá trình cài đặt Flask. Nếu bạn cài đặt Flask ở môi trường global, khi đó bạn chỉ có thể cài đặt được một phiên bản Flask duy nhất mà thôi.

Trong bài viết này, mình sẽ hướng dẫn bạn cách cài đặt Flask trên Ubuntu 20.04 bên trong môi trường ảo hóa dành cho python.

Cài đặt Flask trên Ubuntu 20.04

Trước hết kiểm tra phiên bản python3 trên máy Ubuntu của bạn là bao nhiêu. Bạn có thể chạy câu lệnh sau để kiểm tra thông tin chi tiết:

$ python3 -V

Bạn sẽ có có đoạn output có dạng như sau:

Python 3.8.5

Nhưng mình vẫn khuyên bạn nên tạo ra một môi trường ảo hóa riêng dành cho python để cài đặt Flask bằng cách sử dụng module venv – cung cấp bởi python3-venv package. Chạy câu lệnh sau đây để cài đặt package:

$ sudo apt install python3-venv

Một khi module python3-venv đã được cài đặt trên máy tính của bạn, bạn đã có thể cài đặt ứng dụng Flask trên máy Ubuntu của mình rồi đấy.

Di chuyển đến thư mục mà bạn muốn lưu trữ môi trường ảo hóa python3. Có thể là thư mục home hoặc bất kỳ thư mục nào khác mà user mà bạn đang dùng có quyền đọc và ghi.

Tạo ra thư mục mới cho ứng dụng Flask và di chuyển vào thư mục đó.

$ mkdir flask_app && cd flask_app

Chạy câu lệnh sau bên trong thư mục vừa mới tạo để tạo môi trường ảo hóa mới:

$ python3 -m venv venv

Lệnh sau sẽ tạo ra một thư mục gọi là venv – là thư mục chứa bản copy python binary, pip package manager, thư viện python chuẩn và các file hỗ trợ khác. Bạn có thể sử dụng bất kỳ tên nào mà bạn muốn để tạo virtual environment.

Để bắt đầu sử dụng môi trường ảo hóa python, bạn cần kích hoạt bằng đoạn script activate.

$ source venv/bin/activate

Một khi đã được kích hoạt, thư mục bin của môi trường ảo hóa sẽ được thêm vào phần begining của biến $PATH. Dấu nhắc lệnh shell của bạn cũng sẽ thay đổi và hiển thị tên của môi trường ảo hóa mà hiện tại bạn đang sử dụng. Trong ví dụ này, biến này có tên venv.

Bây giờ khi mà môi trường ảo hóa đã được activated, sử dụng câu lệnh pip để cài đặt Flask.

(venv) $ pip install Flask

Để xác minh quá trình cài đặt có diễn ra thành công hay không, chạy câu lệnh sau – sẽ in ra phiên bản Flask mà bạn đang sử dụng.

(venv) $ python -m flask --version
Python 3.8.5
Flask 1.1.2
Werkzeug 1.0.1

Tại thời điểm mà mình viết bài viết này, phiên bản Flask mới nhất là 1.1.2

Phiên bản Flask hiện tại mà mình đang sử dụng chạy có thể sẽ khác chút so với phiên bản Flask mà bạn cài đặt.

Tạo ra ứng dụng Flask đơn giản

Mình sẽ tạo ra chương trình web Flask với tên gọi kinh điển “Hello World” – đơn giản chỉ in ra dòng chữ “Hello World”.

Mở trình Editor nào đó trên máy bạn lên và tạo file sau:

vi flask_app/hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

Dưới đây là cách mà đoạn code sẽ thực hiện:

  1. Dòng đầu tiên là import class Flask
  2. Dòng thứ 2 tạo ra một instance mới từ class Flask
  3. Decorator route() được sử dụng để register hàm hello_world cho đường dẫn “/“. Khi đường dẫn này được truy vấn, hàm sẽ được gọi và thông điệp “Hello World ” sẽ trả được trả về cho client.

Lưu file lại và quay trở lại cửa sổ terminal.

Mình sẽ sử dụng lệnh flask để chạy ứng dụng, nhưng trước đó, mình cần nói cho shell biết ứng dụng cần chạy bằng cách thiết lập biến môi trường “FLASK_APP“.

(venv) $ export FLASK_APP=hello.py
(venv) $ flask run

Lệnh trên sẽ khởi chạy server và bạn sẽ thấy có đoạn output trên terminal có dạng như sau:

 * Serving Flask app "hello.py"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Mở trình duyệt web lên và truy cập vào địa chỉ http://127.0.0.1:5000, và bạn sẽ thấy có dòng chữ “Hello World” trên màn hình.

Để dừng server running, bấm tổ hợp phím Ctrl+C để dừng.

Khi bạn muốn thoát khỏi môi trường ảo hóa, bạn có thể deactive môi trường này bằng cách gõ lệnh “deactivate” và bạn sẽ quay trở lại normal shell.

Kết luận

Như mình đã trình bày cho các bạn cách tạo môi trường ảo hóa python và cài đặt Flask trên Ubuntu 20.04 rồi. Để tạo ra môi trường ảo hóa để phát triển Flask khác, bạn chỉ cần thực hiện lặp lại các bước tương tự như trên là xong.

5/5 (1 Review)

Để lại một bình luận

Please enter your comment!
Please enter your name here