命令列指令碼 - Python 打包
Python 是一種非常流行且功能強大的程式語言,用於建立大量具有不同用途的應用程式。命令列介面指令碼或 CLI 指令碼是一種執行特定任務的指令碼,當透過命令列執行時,它會根據指令碼執行,並且它用於自動化許多工。CLI 指令碼對開發人員非常有用。
我們也可以在 python 中建立這些 CLI 指令碼。建立 CLI 指令碼後,我們還可以對其進行打包並與其他程式設計師共享以供使用。因此,我們必須瞭解如何打包 CLI 指令碼並分發它。在本文中,我們將介紹打包和分發的所有必要步驟。
本文將指導您完成打包 Python 指令碼並分發它們所需的所有步驟,這將使您能夠輕鬆地自行打包指令碼。
建立命令列指令碼的步驟
我們將按照以下步驟在 python 中建立命令列指令碼:
步驟 1:匯入所需的庫
我們需要為此任務匯入 argpase 庫。此庫有助於解析命令列引數。
import argparse
步驟 2:建立命令列指令碼
我們首先需要在 python 中建立一個命令列指令碼或 CLI 指令碼。這將包含指令碼執行時執行的主要函式。這還可以使用 argparse 庫接受來自命令列本身的引數。以下是一個簡單的 CLI 指令碼示例:
import argparse
def greet(name):
print(f"Hello, {name}!")
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("name", help="Enter name: ")
args = parser.parse_args()
greet(args.name)
上面的指令碼有一個 greet 函式,它接受一個名稱作為引數並列印其中寫入的問候語,以及命令列中的該名稱/引數。我們可以在終端或命令列中執行以下命令來執行此指令碼:
python greet.py Tutorialspoint
這將執行指令碼並給出以下輸出:
Hello, Tutorialspoint!
步驟 3:新增依賴項和打包要求
大多數命令列指令碼都依賴於其他庫或包。這些依賴項需要包含在包中,以便可以與指令碼一起安裝。您可以透過在與指令碼相同的目錄中建立 requirements.txt 檔案來將依賴項新增到您的包中。
如果您正在處理的專案需要一些庫,那麼 requirements.txt 將包含所有這些庫的名稱,例如,如果它需要 requests 庫和 argparse 庫,則 requirments.txt 將為:
requests argparse
此檔案指定包需要 requests 庫。
步驟 4:使用 Setuptools 建立包
建立命令列指令碼並定義指令碼所需的依賴項後,我們可以開始使用 setuptools 庫為其建立包。此庫提供用於構建和分發包的工具和功能。
要使用 setuptools 庫,我們需要在指令碼已存在的目錄中建立一個 setup.py 檔案。以下是 setup.py 檔案的示例:
from setuptools import setup, find_packages
setup(
name="greet",
version="0.1.0",
packages=find_packages(),
install_requires=["requests"],
entry_points={
"console_scripts": [
"greet=greet:main",
],
},
)
此檔案使用 setup 函式定義包名稱、版本和依賴項。它還使用 entry_points 字典指定指令碼的入口點。這告訴 setuptools 建立一個名為 greet 的控制檯指令碼,該指令碼執行 greet 模組中的 main 函式。
步驟 5:分發包
使用 setuptools 庫建立 CLI 指令碼的包後,我們的包已準備好分發並供其他使用者或程式設計師使用。我們可以使用 PyPI 或 Python 包索引來分發我們的包。PyPI 是一個 Python 包的儲存庫,它使使用者能夠安裝包並輕鬆共享它們。
我們將使用 twine 工具將包分發到 PyPI。我們需要建立 2 個檔案,一個名為 sdist,代表原始碼分發,另一個名為 bdist__wheel,代表輪子分發。我們可以透過以下命令執行此操作:
python setup.py sdist bdist_wheel
這將在 dist 目錄中建立兩個分發檔案:一個原始碼分發 (*.tar.gz) 和一個輪子分發 (*.whl)。接下來,我們可以使用 twine 工具將我們的包上傳到 PyPI。首先,使用 pip 安裝 twine:
pip install twine
然後,導航到 dist 目錄並使用以下命令上傳您的包:
twine upload dist/*
此後,我們的包將上傳到 PyPI,這使得其他使用者可以透過 pip 安裝後使用它。
結論
在本文中,我們學習瞭如何為命令列指令碼建立包以及如何分發它。我們瞭解了 CLI 指令碼的用途及其目的。我們還學習了 argparse 和 requests 兩個包。我們介紹了打包 CLI 並將其分發到 PyPI 所需的所有步驟。透過仔細按照文章中提到的所有步驟,您也可以輕鬆地建立 CLI 指令碼並將其打包和分發。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP