PyScript Beta cho phép bạn chạy Python trong trình duyệt | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

PyScript Beta cho phép bạn chạy Python trong trình duyệt

Chia sẻ kiến thức 02/06/2022

JavaScript từ lâu đã thống trị lập trình web phía máy khách, nhưng liệu một framework Python mới có thể làm rung chuyển mọi thứ? Hãy cùng FUNiX tìm hiểu về PyScript - một framework cho phép bạn chạy mã Python trong trình duyệt.

Sử dụng công cụ này, các nhà phát triển có thể viết Python trực tiếp bên trong HTML mà không cần đến phần mềm phụ trợ máy chủ như Flask hoặc Django.

Mặc dù nó vẫn đang trong giai đoạn thử nghiệm, PyScript đã đi kèm với một số tính năng ấn tượng đáng để thử.

1. Dễ dàng thiết lập

Bắt đầu với PyScript dễ dàng như liên kết với CDN của nó trong phần đầu HTML của bạn. Bạn cũng có thể tải xuống mã nguồn của nó và lưu trữ các tệp của dự án trên trang web của riêng bạn. Mặc dù tùy chọn thứ hai có một số lợi ích nhỏ, nhưng việc liên kết với CDN dễ dàng hơn.

Để bắt đầu sử dụng PyScript, bạn có thể bao gồm các tệp JavaScript và CSS của nó như sau:

<head>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>

2. Viết Python trực tiếp bên trong HTML

Mã Python của bạn nằm bên trong thẻ py-script tùy chỉnh trong nội dung tài liệu. Sau đó, tệp JavaScript PyScript sẽ diễn giải nội dung của nó bằng Python. Bạn có thể chỉ định một phần tử HTML, chẳng hạn như div, để PyScript ghi đầu ra vào.

Ví dụ:

<body>
    <div id="python-container"></div>
    <py-script output="python-container">
print("Hello world")
    </py-script>
</body>

Hãy nhớ rằng thụt lề rất quan trọng trong mã Python của bạn. Bạn sẽ cần phải cẩn thận để thụt lề một cách chính xác để tránh lỗi Python IndentationError.

3. Nhập và tách các mô-đun chuẩn Python

Một tính năng độc đáo khác của PyScript là nó cho phép bạn tách các phần phụ thuộc (dependencies) ra khỏi các phần khác. Điều này có nghĩa là bạn sẽ liệt kê một phần phụ thuộc trong phần đầu HTML của mình trước khi bạn có thể nhập nó. Tất cả các phần phụ thuộc đều nằm bên trong thẻ py-env trong phần tiêu đề HTML:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
    <py-env>
- numpy
- pandas
- openpyxl
- matplotlib
    </py-env>
</head>
<body>
    <py-script>
import pandas
    </py-script>
</body>
</html>

4. Nhập và sử dụng các tệp và mô-đun cục bộ của riêng bạn

Bạn không cần phải viết tất cả mã Python của mình trực tiếp bên trong các tệp HTML khi sử dụng PyScript. Bạn có thể viết các hàm hoặc mô-đun Python tùy chỉnh bên trong các tệp riêng biệt, liệt kê chúng trong thẻ py-env và nhập chúng. Điều này giúp bạn dễ dàng viết mã sạch hơn và dễ đọc.

Tuy nhiên, bạn sẽ phải trỏ thẻ py-env đến các đường dẫn mô-đun cục bộ của mình. Tương tự, bạn sẽ liệt kê mọi tệp cục bộ mà bạn muốn sử dụng trong mã Python của mình. Ví dụ: nếu bạn đang đọc tệp Excel với Pandas, bạn sẽ cần chỉ định đường dẫn của nó:

<py-env>
- numpy
# Local modules and files go here:
- paths:
    - /main.py 
    - /path_to_excel_file.xlsx
</py-env>

5. Hiển thị hình ảnh trực quan trực tiếp tới DOM

Chia sẻ hình ảnh trực quan (visualizations) và trang tổng quan (dashboards) có thể là một nhiệm vụ khó khăn. PyScript cho phép bạn hiển thị storyboard và hình ảnh trực quan Python của mình trực tiếp bên trong trình duyệt mà không cần sử dụng các giải pháp dựa trên máy chủ. Bạn thậm chí có thể viết một trang tính Excel vào DOM dưới dạng HTML.

Ví dụ: với các phụ thuộc bắt buộc trong môi trường ảo Python, bạn có thể vẽ biểu đồ dữ liệu từ tệp Excel:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
    <py-env>
- pandas
- matplotlib
# Local modules and files go here:
- paths:
    - /path_to_excel_file.xlsx
    </py-env>
</head>
<body>
    <div id="python-container"></div>
    <py-script output="python-container">
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("excel_file_name.xlsx")
x = df["Months"]
y = df["growth_rate"]
fig, ax = plt.subplots()
ax.plot(x, y)
fig
    </py-script>
</body>
</html>

Bạn có thể tìm thêm thông tin về PyScript qua README trên Github hoặc trang web chính thức của PyScript.

Kết luận

Một trong những thiếu sót của Python là không có khả năng hoạt động trực tiếp trong DOM. Và đây là một trong những lý do khiến JavaScript luôn đi đầu trong phát triển web. PyScript có thể thay đổi điều này nếu nó có thể đạt được sức mạnh của JavaScript. Tuy nhiên, PyScript là một công cụ tiện dụng, vì nó sẽ giúp bạn lưu trữ và chia sẻ các dự án Python của mình một cách dễ dàng. Tuy nhiên, hãy nhớ rằng một số tính năng có thể bị hỏng, vì PyScript vẫn là một framework thử nghiệm.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/pyscript-beta-run-python-browser/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại