Cách đóng gói tập lệnh python

Gói là một thùng chứa các chức năng khác nhau để thực hiện các tác vụ cụ thể. Ví dụ: gói math bao gồm hàm sqrt[] để thực hiện căn bậc hai của một số

Khi làm việc trên các dự án lớn, chúng ta phải xử lý một lượng lớn mã và việc viết mọi thứ cùng nhau trong cùng một tệp sẽ khiến mã của chúng ta trông lộn xộn. Thay vào đó, chúng ta có thể tách mã của mình thành nhiều tệp bằng cách giữ mã có liên quan với nhau trong các gói

Bây giờ, chúng ta có thể sử dụng gói bất cứ khi nào chúng ta cần trong các dự án của mình. Bằng cách này, chúng tôi cũng có thể sử dụng lại mã của mình

Cấu trúc mô hình gói trong lập trình Python

Giả sử chúng ta đang phát triển một trò chơi. Một tổ chức có thể có của các gói và mô-đun có thể như trong hình bên dưới

@alod83][//www.github.com/alod83]## InstallationInstall my-project with pip```bash
pip install package_template
```
## Requirements* numpy

kết xuất như sau

Ví dụ README [Hình ảnh của Tác giả]

GIẤY PHÉP

Nhiều giấy phép tồn tại để phát hành phần mềm. Các loại giấy phép mở và miễn phí phổ biến nhất bao gồm

  • giấy phép miền công cộng, cấp tất cả các quyền
  • giấy phép cho phép, cấp quyền sử dụng, bao gồm cả quyền cấp phép lại. Danh mục này bao gồm giấy phép MIT và Apache
  • giấy phép bảo vệ, chẳng hạn như GPL, cấp quyền sử dụng, nhưng cấm sở hữu

pyproject. toml

Như đã nói, tệp này chứa các lệnh để xây dựng gói. Đoạn mã sau đây cho thấy một ví dụ rất cơ bản về pyproject. tập tin toml

[build-system]requires = [
"setuptools",
"wheel"
]
build-backend = "setuptools.build_meta"

Biến

from package1.p1 import p1_sum
2 chỉ định các thư viện cần thiết để xây dựng gói. Điều này KHÔNG bao gồm thư viện được gói khai thác [i. e. các thư viện được nhập trong các tập lệnh đơn]

Ví dụ trước xác định rằng cơ chế được sử dụng để xây dựng gói là

from package1.p1 import p1_sum
3

cài đặt. cfg

Đoạn mã sau hiển thị một ví dụ cơ bản về tệp

from package1.p1 import p1_sum
1

[metadata]name = package_template_YOUR-USERNAME-HERE
version = 0.0.1
author = Name Surname
author_email = author@example.com
description = A package template
long_description = file: README.md
long_description_content_type = text/markdown
url = //github.com/alod83/package_template
project_urls =
Bug Tracker = //github.com/alod83/package_template/issues
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
Operating System :: OS Independent
[options]
package_dir =
= src
packages = find:
python_requires = >=3.6
install_requires =
numpy

Phần

from package1.p1 import p1_sum
5 chứa một số thông tin cơ bản, liên quan đến tên của gói, tác giả, phiên bản và những nội dung tương tự khác. Để phát hành phiên bản mới của gói, số phiên bản trong phần này có thể được thay đổi

Phần tùy chọn chứa thông tin về phiên bản Python [≥3. 6 trong ví dụ trên] và các thành phần phụ thuộc [được xác định bằng từ khóa

from package1.p1 import p1_sum
6

Để biết thêm chi tiết, liên quan đến tệp

from package1.p1 import p1_sum
1, bạn có thể xem trang này

Tạo phân phối

Bây giờ tôi có thể tạo bản phân phối. Tôi phải cài đặt gói

from package1.p1 import p1_sum
8, nếu tôi chưa cài đặt gói này

pip install build

Sau khi cài đặt, tôi vào thư mục gốc của gói và chạy lệnh sau

python -m build

Thao tác này có thể cần một chút thời gian. Sau khi hoàn thành, một thư mục mới xuất hiện trong thư mục gốc cục bộ của tôi, được gọi là

from package1.p1 import p1_sum
9, chứa hai tệp chính

package_template-YOUR-USERNAME-HERE-0.0.1.tar.gzpackage_template_YOUR_USERNAME_HERE-0.0.1-py3-none-any.whl
Tải gói lên kho lưu trữ PIP thử nghiệm

Gói đã sẵn sàng để được triển khai trong kho lưu trữ PIP chính thức. Tuy nhiên, trước khi triển khai nó, tôi thực sự khuyên bạn nên kiểm tra nó, trong kho lưu trữ PIP thử nghiệm, đây không phải là kho lưu trữ chính thức mà chỉ là kho lưu trữ thử nghiệm

Đầu tiên, tôi phải tạo một tài khoản mới trong Kho lưu trữ thử nghiệm, theo liên kết này. Sau khi tạo và kích hoạt tài khoản mới, tôi có thể đăng nhập vào hồ sơ của bạn và tạo mã thông báo. Tôi phải lưu mã thông báo này ở nơi khác, vì bạn sẽ không thấy nó nữa

Bây giờ, tôi đã sẵn sàng tải gói lên Kho lưu trữ thử nghiệm. Tôi cài đặt gói

# package_template
A Template to build a PIP package
## Authors- [@alod83][//www.github.com/alod83]## InstallationInstall my-project with pip```bash
pip install package_template
```
## Requirements* numpy
0, sẽ được sử dụng để tải lên

from numpy.random import seed
from numpy.random import rand
def p1_sum[a, s = 1]:
seed[s]
b = rand[1]
return a + b
0

Sau đó, tôi nhập thư mục gốc của thư mục gói của mình và tôi chạy lệnh này

from numpy.random import seed
from numpy.random import rand
def p1_sum[a, s = 1]:
seed[s]
b = rand[1]
return a + b
1

Lệnh này sẽ nhắc nhập tên người dùng và mật khẩu. Sử dụng

# package_template
A Template to build a PIP package
## Authors- [@alod83][//www.github.com/alod83]## InstallationInstall my-project with pip```bash
pip install package_template
```
## Requirements* numpy
1làm tên người dùng và mã thông báo của bạn làm mật khẩu

Khi quy trình hoàn tất, một URL sẽ xuất hiện, chỉ định nơi gói của bạn được cài đặt

Cài đặt gói đã triển khai

Trước khi cài đặt gói triển khai mới, tôi thực sự khuyên bạn nên tạo một env ảo. Bạn có thể làm theo hướng dẫn nhanh này để xây dựng một env ảo mới

Gói đã triển khai có thể được cài đặt thông qua lệnh sau

from numpy.random import seed
from numpy.random import rand
def p1_sum[a, s = 1]:
seed[s]
b = rand[1]
return a + b
2

Bây giờ bạn có thể tạo tập lệnh Python mới để khai thác gói đã triển khai mới

from numpy.random import seed
from numpy.random import rand
def p1_sum[a, s = 1]:
seed[s]
b = rand[1]
return a + b
3Triển khai cuối cùng

Sau khi kiểm tra tính chính xác của gói, tôi có thể tải nó lên kho lưu trữ Chỉ mục gói Python

Tôi phải chọn một tên ban đầu, đây sẽ là tên chính thức của gói hàng của tôi

Tôi phải đăng ký trang web Python Package Index chính thức. Sau đó, tôi chạy lệnh sau, từ thư mục gốc của gói của tôi

from numpy.random import seed
from numpy.random import rand
def p1_sum[a, s = 1]:
seed[s]
b = rand[1]
return a + b
4

Tôi nhập thông tin đăng nhập của mình và nhấn enter. Sau khi thủ tục hoàn tất, gói đã sẵn sàng để mọi người trên thế giới cài đặt. ]

Tóm lược

Trong hướng dẫn này, tôi đã minh họa cách chuyển đổi dự án Python thành gói Python có sẵn cho tất cả cộng đồng Python trong Chỉ mục gói Python

Thủ tục khá đơn giản. chỉ cần tổ chức thư mục dự án thành một cấu trúc nhất định và chạy một số lệnh Python đơn giản để xây dựng bản phân phối là đủ

Làm cách nào để biến tập lệnh Python thành gói?

Để chuyển đổi mô-đun Python thành gói Python .
Chọn một. tập tin py
Chọn tái cấu trúc. Chuyển đổi sang Gói Python
Kiểm tra dự án. gói có tên là mô-đun đã chuyển đổi được tạo; . tệp py chứa tất cả mã từ. tập tin py

Làm cách nào để đóng gói mã Python dưới dạng thư viện?

Cách tạo thư viện Python .
Bước 1. Tạo một thư mục mà bạn muốn đặt thư viện của mình. .
Bước 2. Tạo một môi trường ảo cho thư mục của bạn. .
Bước 3. Tạo cấu trúc thư mục. .
Bước 4. Tạo nội dung cho thư viện của bạn. .
Bước 5. Xây dựng thư viện của bạn

Làm cách nào để đóng gói mã Python để triển khai?

Để triển khai, bạn cần tải cấu phần phần mềm này lên máy sản xuất của mình. Để cài đặt nó, chỉ cần chạy dpkg -i my-package. deb . Virtualenv của bạn sẽ được đặt tại /usr/share/python/ và bất kỳ tệp tập lệnh nào được xác định trong thiết lập của bạn. py sẽ có sẵn trong thư mục bin đi kèm.

Làm cách nào chúng ta có thể tạo một gói bằng Python?

Python - Gói .
Tạo một thư mục mới có tên D. \Ứng dụng của tôi
Bên trong MyApp , tạo một thư mục con với tên 'mypackage'
Tạo một __init__ trống. py trong thư mục mypackage
Sử dụng trình chỉnh sửa nhận biết Python như IDLE, tạo mô-đun chào. py và chức năng. py với đoạn mã sau

Chủ Đề