快速入門:使用命令行發佈及取用 Python 套件與 Azure Artifacts (CLI)

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019

在本快速入門中,您將瞭解如何建立 Azure Artifacts 摘要,並使用您的摘要從本機開發環境中的命令行發佈及取用 Python 套件。 完成時,您有一個 Python 套件發佈至您的摘要,並從您的摘要安裝到本機開發環境。

若要在 Azure Pipelines 中發佈及取用套件,請參閱 使用 Azure Pipelines 發佈 Python 套件。

必要條件

若要執行下列步驟,您必須具備:

  • Azure DevOps 組織。 免費建立一個
  • 具有封裝>讀取範圍的個人存取令牌 (PAT)。 若要建立一個,請參閱 建立 PAT
  • Azure DevOps 專案。 如果您沒有專案, 請建立專案
  • 安裝在本機電腦上的 Python 3.8 或更新版本。 在這裡下載 Python。
  • pip 19.2 和 twine 1.13.0 或更高版本。
  • 要從本機計算機發佈至摘要的 Python 套件。
  • 如果使用範例 Python 套件:
    • GitHub 帳戶。 如果您還沒有 GitHub 帳戶,請建立免費的 GitHub 帳戶
    • 安裝在本機電腦上的 git。
  • GitHub 帳戶。 如果您還沒有 GitHub 帳戶,請建立免費的 GitHub 帳戶
  • 存取 Azure DevOps Server 集合。
  • 具有封裝>讀取範圍的個人存取令牌 (PAT)。 若要建立一個,請參閱 建立 PAT
  • Azure DevOps 專案。 如果您沒有專案, 請建立專案
  • 在本機開發環境中安裝 Python 3.8 或更新版本。
  • pip 19.2 和 twine 1.13.0 或更高版本。
  • 如果使用範例 Python 套件:
    • GitHub 帳戶。 如果您還沒有 GitHub 帳戶,請建立免費的 GitHub 帳戶
    • 安裝在本機電腦上的 git。

建立本機 Python 套件

您需要 Python 套件才能發佈至您的摘要。 如果您沒有要發佈的套件,您可以從 GitHub 複製範例 Python 套件。

複製範例 Python 套件

使用下列步驟,從 GitHub 使用範例 Python 套件。

  1. 移至下列 GitHub 存放庫:

    https://github.com/microsoft/python-package-template
    
  2. 將存放庫分支至您的 GitHub 帳戶。

  3. 移至分支存放庫,然後選取 [ 程序代碼]。

  4. 複製分支存放庫的URL。

  5. 從本機電腦上的 CLI,使用您從分支存放庫複製的 URL,使用下列命令複製存放庫:

    git clone <REPOSITORY_URL>
    
  6. 將目錄變更為複製的存放庫。

    cd python-package-template
    

建置您的套件

若要建置轉輪和來源散發,請在專案目錄中執行下列命令:

pip install --upgrade build
python -m build

如果您的 Python 專案有 setup.py 檔案,您可以使用下列命令來建置套件:

python setup.py sdist bdist_wheel

建立摘要

  1. 登入您的 Azure DevOps 組織,然後移至您的專案。

  2. 選取 [ 成品],然後選取 [ 建立摘要]。

    A screenshot showing how to create a feed.

  3. 為您的摘要輸入下列資訊:

    1. 輸入摘要的描述性 名稱
    2. 定義其 可見度 (指出誰可以在摘要內檢視套件)。
    3. 選取是否要使用公用來源的套件,例如 pypi.org。
    4. 指定摘要的範圍
  4. 選取 建立

  1. 移至您的 Azure DevOps 集合,選取您的專案。

  2. 選取 [ 成品],然後選取 [ 建立摘要]。

    A screenshot showing how to create a feed in DevOps Server.

  3. 為您的摘要輸入下列資訊:

    1. 輸入摘要的描述性 名稱
    2. 定義其 可見度 (指出誰可以在摘要內檢視套件)。
    3. 選取是否要使用公用來源的套件,例如 pypi.org。
    4. 指定摘要的範圍
  4. 選取 建立

  1. 移至您的 Azure DevOps 集合,選取您的專案。

  2. 選取 [ 成品],然後選取 [ 建立摘要 ] 以建立新的摘要。

  3. 為您的摘要輸入下列資訊:

    1. 輸入摘要的描述性 名稱
    2. 定義其 可見度 (指出誰可以在摘要內檢視套件)。
    3. 選取是否要使用公用來源的套件,例如 pypi.org。
    4. 指定摘要的範圍
  4. 選取 建立

  1. 移至您的 Azure DevOps 集合,選取您的專案。

  2. 選取 [ 成品],然後選取 [ 建立摘要 ] 以建立新的摘要。

  3. 為您的摘要輸入下列資訊:

    1. 輸入摘要的描述性 名稱
    2. 定義其 可見度 (指出誰可以在摘要內檢視套件)。
    3. 選擇是否要使用來自公用來源的套件,例如 pypi.org。
  4. 選取 建立

將您的套件發佈至摘要

使用對應項將您的套件上傳至 Azure Artifacts 摘要。

  1. 移至您的 Azure DevOps 專案,然後選取 [ 成品]。

  2. 選取您的摘要,然後選取要摘要 連線。

    A screenshot highlighting the connect to feed.

  3. 選取 [Python] 區段底下的對應項。

    A screenshot highlighting the twine package type.

  4. 在您的開發電腦上,確定已安裝對應項。

    pip install --upgrade twine
    
  5. 請遵循 [項目設定] 區段中的指示來設定您的.pypirc檔案。

    A screenshot highlighting the `.pyirc` content.

  6. 若要避免在每次發佈套件時輸入您的個人存取令牌,您可以將認證新增至 .pypirc 檔案。 請確定您不會將個人存取令牌簽入公用存放庫。

    .pypirc具有認證的檔案範例:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. 若要上傳套件,請在專案目錄中執行下列命令,以 <您的摘要名稱取代FEED_NAME> 。 在 Windows 上,您可能需要使用 --config-file 自變數來指定.pypirc檔案位置。

    twine upload --repository <FEED_NAME> dist/*
    

從您的摘要安裝套件

  1. 移至您的 Azure DevOps 專案,然後選取 [ 成品]。

  2. 選取您的摘要,然後選取要摘要 連線。

    A screenshot highlighting the connect to feed button.

  3. 選取 [Python]段底下的 pip

    A screenshot highlighting the pip package type.

  4. 準備您的本機 Python 環境。

    1. 確定 pip 已安裝且最新:

      python -m pip install --upgrade pip
      
    2. 建立並啟動 Python 虛擬環境:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. 將pip.ini (Windows) 或 pip.conf (Mac/Linux) 檔案新增至虛擬環境的根目錄。 從 連線 的 [項目設定] 區段複製內容以摘要對話框,並將其新增至您的 pip.inipip.conf 檔案。

    A screenshot highlighting the pip.ini file content.

  6. 若要避免每次從摘要安裝套件時輸入個人存取令牌,您可以將認證新增至 pip.inipip.conf 檔案。 請確定您不會將個人存取令牌簽入公用存放庫。

    具有認證的pip.inipip.conf 檔案範例:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. 若要安裝套件,請執行下列命令,以 <摘要中的套件名稱取代 PACKAGE_NAME> 。

    pip install <PACKAGE_NAME>
    

清除資源

當您完成所建立的資源時,您可以將其刪除,以避免產生費用。 當您刪除專案時,會刪除其所有專案層級成品摘要。

若要刪除項目:

  1. 選取 [專案設定]。
  2. 在 [ 專案詳細數據] 頁面上,選取頁面底部的 [ 刪除 ]。
  3. 輸入要確認的專案名稱,然後選取 [ 刪除]。

如果您要只刪除摘要:

  1. 選取 [成品] ,然後從下拉功能表中選取您的摘要。
  2. 選取 [設定] 按鈕。
  3. 從 [ 摘要設定] 索引標籤中,選取 [ 刪除摘要]。
  4. 請選取刪除,確認刪除。

若要清除本機開發環境:

  1. 若要停用虛擬環境,請執行下列命令:

    deactivate
    
  2. 若要刪除虛擬環境,請刪除其建立所在的目錄。

  3. .pypirc從主目錄移除檔案。

如果您複製範例 Python 套件,您可以從本機計算機和 GitHub 帳戶中刪除存放庫。

下一步