如何打包命令列 Python 指令碼


Python 是一種功能強大的程式語言,在軟體工程領域有著廣泛的應用,並且被廣泛使用。我們可以使用 Python 建立各種型別的應用程式。我們還可以用 Python 建立一個 CLI 指令碼,用於自動化許多工。然後我們還可以打包 CLI 指令碼。

為了讓其他人能夠使用這些指令碼,我們需要打包並分發這些應用程式。因此,我們必須瞭解如何打包命令列 Python 指令碼。本文將指導您完成打包 Python 指令碼所需的所有步驟,並使您能夠輕鬆地自行打包指令碼。

為了打包 Python 中的命令列指令碼或 CLI 指令碼,我們需要遵循以下步驟。

步驟 1:安裝所需的庫

在開始編寫指令碼之前,我們需要安裝 Python 的所有所需庫。requirements.txt 檔案包含您要建立的命令列指令碼所需的所有庫。這些庫不是固定的,會根據指令碼的需求而變化。要安裝,請執行以下命令:

pip install -r requirements.txt

此命令將安裝 requirements.txt 檔案中列出的所有必需庫及其依賴項。

步驟 2:建立虛擬環境

在第二步中,我們需要建立一個虛擬環境,其中包含專案所需的所有庫,以及該專案的依賴項。我們建立虛擬環境是為了確保專案在打包和開發過程中都能正常工作。我們將使用以下命令建立虛擬環境:

python3 -m venv env

此命令將在 .env 目錄中建立一個新的虛擬環境。

步驟 3:啟用虛擬環境

建立虛擬環境後,我們需要啟用它。我們將使用以下命令啟用它:

source env/bin/activate

上述命令將啟用我們之前建立的虛擬環境,並且您安裝的任何庫或依賴項也將安裝在虛擬環境中。

步驟 4:建立安裝指令碼

下一步是建立安裝指令碼。安裝指令碼是一個 Python 指令碼,用於描述您要建立的包。它包含諸如包名稱、版本、作者和其他元資料等資訊。以下是一個安裝指令碼示例:

from setuptools import setup, find_packages
setup(
   name='mycommand',
   version='0.1',
   author='Your Name',
   author_email='your@email.com',
   description='My Command Line Tool',
   packages=find_packages(),
   entry_points={
      'console_scripts': [
         'mycommand=mycommand.cli:main',
      ],
   },
)

我們使用了 Python 的 setuptools 庫來建立包。在上面的程式碼中,我們定義了包的名稱、版本、作者以及其他各種元資料。我們還定義了指令碼的入口點,即包執行開始的點,也就是 cli.py 檔案。

步驟 5:建立 CLI 指令碼

第 5 步是建立命令列介面指令碼或 CLI 指令碼。此指令碼將包含指令碼需要執行的主函式。當從命令列呼叫此指令碼時,它將被執行。下面是一個簡單的示例

def main():
   print('Hello, World!')

在上面的指令碼中,我們簡單地建立了一個主函式,當執行時,它將列印“Hello World”。這是我們需要在呼叫 CLI 應用程式時執行的主函式。

步驟 6:構建包

建立安裝指令碼和 CLI 指令碼後,可以使用以下命令構建包:

python setup.py sdist bdist_wheel

此命令將建立包的原始碼分發版和二進位制分發版。原始碼分發版將包含包的原始碼,而二進位制分發版將包含包的編譯版本。

步驟 7:分發包

構建包後,現在我們需要分發它,以便其他開發人員或程式設計師可以使用它。我們可以使用 Python 的包管理器 PyPI 輕鬆地分發它。我們還可以透過簡單地將構建的包檔案透過 Google Drive 或任何媒體共享平臺傳送給終端使用者來手動共享包。

步驟 8:安裝和測試包

我們應該在系統上安裝包以進行測試。我們可以使用 Python 的包安裝程式 pip 來安裝此包。我們將使用以下命令安裝包:

pip install mycommand-0.1-py3-none-any.whl

這將在我們的系統上成功安裝包。現在,我們還可以透過執行以下命令來測試此包:

mycommand

此命令將執行 cli.py 檔案中的主函式,並將“Hello, World!”列印到控制檯。

結論

在本文中,我們瞭解瞭如何打包用 Python 編寫的命令列指令碼。我們介紹了打包應用程式所需的所有步驟。按照本文中的所有步驟,您可以輕鬆地打包自己的命令列指令碼,其中包括依賴項和元資料。您建立的包也可以透過共享或使用 PyPI 輕鬆地分發給使用者。

更新於: 2023 年 4 月 20 日

3K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告