Hướng dẫn github packages python - gói github python

Hướng dẫn lập trình python

Bài viết nhắm tới những người chưa có kinh nghiệm lập trình. Hi vọng bạn sẽ dễ hiểu! Thông thường thì mình sẽ code phần lớn theo tiếng Anh nhưng trong hướng dẫn này mình sẽ cố gắng thay thế bằng Tiếng Việt nhiều hơn.

Lưu ý Python hiện tại có hai phiên bản thông dụng là Python 2 và Python 3. Ở hướng dẫn này mình sẽ sử dụng Python 3.

Cách sử dụng hướng dẫn hiệu quả

  • Chạy thử code mẫu trong ví dụ (gõ lại sẽ tốt hơn là chỉ copy paste đó).
  • Đọc code và giải thích lại các dòng code.
  • Nếu thấy gì lạ mà không có trong hướng dẫn, hãy thử xem lại phần trước đó xem.
  • Google luôn hỗ trợ bạn học dễ hơn (nhưng thường là cần chút Tiếng Anh).

Nội dung

Hướng dẫn này gồm các phần sau (sẽ update dần). Giúp bạn bắt đầu với Python. Sau đó bạn có thể học sâu hơn tùy thích. Do IDLE hỗ trợ UNICODE kém quá, không gõ trực tiếp Tiếng Việt vào được, nên các comment Tiếng Việt giải thích trong bài viết ở IDE khác, không phải IDLE. Bạn có thể thử IDE khác đơn giản như Notepad++, còn nếu không thì Tiếng Việt không dấu hay Tiếng Anh cho hợp vậy.

Cơ bản

  1. Cài đặt Python
  2. Bắt đầu với Python
  3. Các loại biến và so sánh
  4. Cấu trúc lựa chọn if, else and elif
  5. Sử dụng functions
  6. String
  7. Lists và tuples
  8. Vòng lặp

Giới thiệu

Hướng dẫn này chỉ cho bạn cách xây dựng, kiểm tra và xuất bản gói Python.

Nội dung chính ShowShow

  • Giới thiệu
  • Hướng dẫn này chỉ cho bạn cách xây dựng, kiểm tra và xuất bản gói Python.
  • Nội dung chính Show
  • Điều kiện tiên quyết
  • Sử dụng quy trình công việc khởi động Python
  • Chỉ định phiên bản Python
  • Sử dụng nhiều phiên bản Python
  • Sử dụng phiên bản Python cụ thể
  • Không bao gồm một phiên bản
  • Sử dụng phiên bản Python mặc định
  • Cài đặt phụ thuộc
  • Kiểm tra mã của bạn
  • Thử nghiệm với pytest và pytest-cov
  • Sử dụng flake8 để mã lint
  • Chạy thử nghiệm với Tox
  • Dữ liệu quy trình làm việc đóng gói dưới dạng vật phẩm
  • Xuất bản để đăng ký gói
  • Làm cách nào để tạo kho lưu trữ gói Python?
  • Bạn có thể đặt Python lên GitHub không?
  • Chúng ta có thể tạo gói Python không?

Các vận động viên được lưu trữ GitHub có bộ đệm công cụ với phần mềm được cài đặt sẵn, bao gồm Python và Pypy. Bạn không cần phải cài đặt bất cứ điều gì! Để biết danh sách đầy đủ các phần mềm cập nhật và các phiên bản được cài đặt sẵn của Python và Pypy, hãy xem "Thông số kỹ thuật cho các vận động viên được lưu trữ GitHub".

Điều kiện tiên quyết

Bạn nên quen thuộc với YAML và cú pháp cho các hành động của GitHub. Để biết thêm thông tin, hãy xem "Tìm hiểu các hành động GitHub."

Chúng tôi khuyên bạn nên có một sự hiểu biết cơ bản về Python, Pypy và PIP. Để biết thêm thông tin, xem:

  • Bắt đầu với Python
  • Pypy
  • Trình quản lý gói PIP

Sử dụng quy trình công việc khởi động Python

GitHub cung cấp một quy trình công việc khởi đầu Python nên hoạt động cho hầu hết các dự án Python. Hướng dẫn này bao gồm các ví dụ mà bạn có thể sử dụng để tùy chỉnh quy trình công việc khởi động. Để biết thêm thông tin, hãy xem quy trình công việc khởi động Python.

Để bắt đầu nhanh chóng, hãy thêm quy trình công việc khởi động vào thư mục .github/workflows của kho lưu trữ của bạn.

Chỉ định phiên bản Python

Để sử dụng phiên bản được cài đặt sẵn của Python hoặc Pypy trên một người chạy được lưu trữ github, hãy sử dụng hành động setup-python. Hành động này tìm thấy một phiên bản cụ thể của Python hoặc Pypy từ bộ đệm công cụ trên mỗi người chạy và thêm các nhị phân cần thiết vào PATH, vẫn tồn tại trong phần còn lại của công việc. Nếu một phiên bản cụ thể của Python không được cài đặt sẵn trong bộ đệm công cụ, hành động setup-python sẽ tải xuống và thiết lập phiên bản thích hợp từ kho python-versions.

Sử dụng hành động setup-python là cách sử dụng Python được khuyến nghị với các hành động của GitHub vì nó đảm bảo hành vi nhất quán trên các vận động viên khác nhau và các phiên bản khác nhau của Python. Nếu bạn đang sử dụng một người chạy tự lưu trữ, bạn phải cài đặt Python và thêm nó vào PATH. Để biết thêm thông tin, hãy xem hành động setup-python.

Bảng dưới đây mô tả các vị trí cho bộ đệm công cụ trong mỗi người chạy được lưu trữ github.

UbuntuMaccác cửa sổ
Thư mục bộ đệm công cụ ________số 8 /Users/runner/hostedtoolcache/* setup-python0
Bộ đệm công cụ Python setup-python1 setup-python2 setup-python3
Bộ đệm công cụ Pypy setup-python4 setup-python5 setup-python6

Nếu bạn đang sử dụng một người chạy tự lưu trữ, bạn có thể định cấu hình người chạy để sử dụng hành động setup-python để quản lý các phụ thuộc của bạn. Để biết thêm thông tin, hãy xem bằng cách sử dụng Setup-Python với một người chạy tự lưu trữ trong setup-python Readme.

GitHub hỗ trợ cú pháp phiên bản ngữ nghĩa. Để biết thêm thông tin, hãy xem "Sử dụng phiên bản ngữ nghĩa" và "Đặc tả phiên bản ngữ nghĩa".

Sử dụng nhiều phiên bản Python

Sử dụng phiên bản Python cụ thể

Bạn có thể định cấu hình một phiên bản cụ thể của Python. Ví dụ, 3.9. Ngoài ra, bạn có thể sử dụng cú pháp phiên bản ngữ nghĩa để nhận bản phát hành nhỏ mới nhất. Ví dụ này sử dụng bản phát hành nhỏ mới nhất của Python 3.

Không bao gồm một phiên bản

Nếu bạn chỉ định một phiên bản của Python không có sẵn, setup-python sẽ thất bại với một lỗi như: PATH0. Thông báo lỗi bao gồm các phiên bản có sẵn.

Bạn cũng có thể sử dụng từ khóa PATH1 trong quy trình làm việc của mình nếu có cấu hình của Python mà bạn không muốn chạy. Để biết thêm thông tin, hãy xem "Cú pháp quy trình công việc cho các hành động GitHub."

Sử dụng phiên bản Python mặc định

Chúng tôi khuyên bạn nên sử dụng setup-python để định cấu hình phiên bản Python được sử dụng trong quy trình làm việc của bạn vì nó giúp làm cho các phụ thuộc của bạn rõ ràng. Nếu bạn không sử dụng setup-python, phiên bản Python mặc định được đặt trong PATH được sử dụng trong bất kỳ shell nào khi bạn gọi PATH5. Phiên bản mặc định của Python khác nhau giữa các vận động viên được lưu trữ GitHub, có thể gây ra những thay đổi bất ngờ hoặc sử dụng phiên bản cũ hơn dự kiến.

Người chạy bộ chủ nhàSự mô tả
Ubuntu Người chạy Ubuntu có nhiều phiên bản Python hệ thống được cài đặt theo PATH6 và PATH7. Các phiên bản Python được đóng gói với Ubuntu ngoài các phiên bản mà GitHub cài đặt trong bộ đệm công cụ.
các cửa sổ Không bao gồm các phiên bản của Python có trong bộ đệm công cụ, Windows không gửi với phiên bản tương đương của hệ thống Python. Để duy trì hành vi nhất quán với các vận động viên khác và cho phép Python được sử dụng ngoài hộp mà không có hành động setup-python, GitHub thêm một vài phiên bản từ bộ đệm công cụ vào PATH.
hệ điều hành MacCác vận động viên MacOS có nhiều hơn một phiên bản của System Python, ngoài các phiên bản là một phần của bộ đệm công cụ. Các phiên bản Python hệ thống được đặt trong thư mục setup-python0.

Cài đặt phụ thuộc

Các vận động viên được lưu trữ GitHub đã cài đặt Trình quản lý gói PIP. Bạn có thể sử dụng PIP để cài đặt các phụ thuộc từ Cơ quan đăng ký gói PYPI trước khi xây dựng và kiểm tra mã của bạn. Ví dụ: YAML bên dưới cài đặt hoặc nâng cấp Trình cài đặt gói setup-python1 và các gói setup-python2 và setup-python3.

Bạn cũng có thể phụ thuộc bộ đệm để tăng tốc độ công việc của mình. Để biết thêm thông tin, hãy xem "Bộ đệm phụ thuộc để tăng tốc độ công việc."

Tệp yêu cầu

Sau khi bạn cập nhật setup-python1, một bước tiếp theo điển hình là cài đặt các phụ thuộc từ các yêu cầu.txt. Để biết thêm thông tin, xem PIP.

Bộ nhớ đệm phụ thuộc

Bạn có thể lưu trữ và khôi phục các phụ thuộc bằng cách sử dụng hành động setup-python.

Các ví dụ sau đây phụ thuộc vào bộ đệm cho PIP.

Theo mặc định, các hành động setup-python tìm kiếm cho tệp phụ thuộc (setup-python7 cho PIP, setup-python8 cho PIPENV hoặc setup-python9 cho thơ) trong toàn bộ kho lưu trữ. Để biết thêm thông tin, hãy xem "Bộ đệm phụ thuộc các gói" trong setup-python readme.

Nếu bạn có yêu cầu tùy chỉnh hoặc cần điều khiển tốt hơn để lưu trữ, bạn có thể sử dụng hành động python-versions1. Các phụ thuộc của bộ đệm PIP ở các vị trí khác nhau, tùy thuộc vào hệ điều hành của người chạy. Đường dẫn bạn cần lưu trữ có thể khác với ví dụ Ubuntu ở trên, tùy thuộc vào hệ điều hành bạn sử dụng. Để biết thêm thông tin, hãy xem các ví dụ về bộ đệm Python trong kho lưu trữ hành động python-versions1.

Kiểm tra mã của bạn

Bạn có thể sử dụng các lệnh tương tự mà bạn sử dụng cục bộ để xây dựng và kiểm tra mã của mình.

Thử nghiệm với pytest và pytest-cov

Ví dụ này cài đặt hoặc nâng cấp python-versions3 và python-versions4. Các thử nghiệm sau đó được chạy và đầu ra ở định dạng JUnIT trong khi kết quả bảo hiểm mã được đầu ra ở Cobertura. Để biết thêm thông tin, xem Junit và Cobertura.

Sử dụng flake8 để mã lint

Ví dụ sau đây cài đặt hoặc nâng cấp python-versions5 và sử dụng nó để xáo trộn tất cả các tệp. Để biết thêm thông tin, xem Flake8.

Bước Lining có python-versions6. Điều này sẽ giữ cho quy trình công việc không thành công nếu bước lót không thành công. Khi bạn đã giải quyết tất cả các lỗi Linting, bạn có thể xóa tùy chọn này để quy trình làm việc sẽ bắt gặp sự cố mới.

Chạy thử nghiệm với Tox

Với các hành động của GitHub, bạn có thể chạy các bài kiểm tra với Tox và truyền bá công việc trên nhiều công việc. Bạn sẽ cần gọi TOX bằng tùy chọn python-versions7 để chọn phiên bản Python trong PATH của bạn, thay vì chỉ định một phiên bản cụ thể. Để biết thêm thông tin, xem Tox.

Dữ liệu quy trình làm việc đóng gói dưới dạng vật phẩm

Bạn có thể tải lên các tạo tác để xem sau khi hoàn thành quy trình làm việc. Ví dụ: bạn có thể cần lưu các tệp nhật ký, kết xuất lõi, kết quả kiểm tra hoặc ảnh chụp màn hình. Để biết thêm thông tin, hãy xem "Dữ liệu quy trình công việc tồn tại bằng cách sử dụng tạo tác."

Ví dụ sau đây cho thấy cách bạn có thể sử dụng hành động python-versions9 để lưu trữ kết quả kiểm tra từ việc chạy python-versions3. Để biết thêm thông tin, hãy xem hành động python-versions9.

Xuất bản để đăng ký gói

Bạn có thể định cấu hình quy trình làm việc của mình để xuất bản gói Python của mình lên một cơ quan đăng ký gói khi CI của bạn kiểm tra. Phần này cho thấy cách bạn có thể sử dụng các hành động GitHub để tải gói của mình lên PYPI mỗi khi bạn xuất bản bản phát hành.

Trong ví dụ này, bạn sẽ cần tạo hai mã thông báo API PYPI. Bạn có thể sử dụng bí mật để lưu trữ mã thông báo truy cập hoặc thông tin cần thiết để xuất bản gói của bạn. Để biết thêm thông tin, hãy xem "Tạo và sử dụng bí mật được mã hóa."

Để biết thêm thông tin về quy trình công việc khởi động, xem setup-python2.

Làm cách nào để tạo kho lưu trữ gói Python?

Trang web https://pypi.org/ là một kho phần mềm cho ngôn ngữ lập trình Python ....

Bước 0: Chuẩn bị mã của bạn để chia sẻ.....

Bước 1: Tạo tệp __init__.py.....

Bước 2: Tạo tệp setup.py.....

Bước 3: Cài đặt gói của bạn cục bộ.....

Bước 4: Tạo giấy phép và các tệp readme.....

Tạo phân phối nguồn của bạn ..

Bạn có thể đặt Python lên GitHub không?

GitHub cung cấp một quy trình công việc khởi đầu Python nên hoạt động cho hầu hết các dự án Python.Hướng dẫn này bao gồm các ví dụ mà bạn có thể sử dụng để tùy chỉnh quy trình công việc khởi động.Để biết thêm thông tin, hãy xem quy trình công việc khởi động Python.. This guide includes examples that you can use to customize the starter workflow. For more information, see the Python starter workflow.. This guide includes examples that you can use to customize the starter workflow. For more information, see the Python starter workflow.

Chúng ta có thể tạo gói Python không?

Tạo các gói bất cứ khi nào bạn muốn tạo một gói, sau đó bạn phải bao gồm tệp __init__.py trong thư mục.Bạn có thể viết mã bên trong hoặc để trống như mong muốn của bạn.Nó không làm phiền Python.Tạo một thư mục và bao gồm một tệp __init__.py trong đó để nói với Python rằng thư mục hiện tại là một gói.Whenever you want to create a package, then you have to include __init__.py file in the directory. You can write code inside or leave it as blank as your wish. It doesn't bothers Python. Create a directory and include a __init__.py file in it to tell Python that the current directory is a package.Whenever you want to create a package, then you have to include __init__.py file in the directory. You can write code inside or leave it as blank as your wish. It doesn't bothers Python. Create a directory and include a __init__.py file in it to tell Python that the current directory is a package.