從 Python 套件索引(PyPI)中使用套件

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

Azure Artifacts 讓開發者能使用單一串流來承載自己的套件,以及從公共登錄檔(如 PyPI.org)安裝的套件。當啟用上游來源時,Azure Artifacts 會自動儲存由協作者或更高級別從上游來源安裝的任何套件副本。 本文將引導你如何設定專案,並使用命令列從 Python 套件索引(PyPI)中取得 Python 套件。

必要條件

產品 要求
Azure DevOps - Azure DevOps 組織
- Azure DevOps 項目
- 下載並安裝 Python

建立一個新的資料流並新增公開的上游

如果你還沒有訂閱源,請依照以下步驟建立一個並啟用上游來源。 否則,就跳到 下一步 ,將 PyPI 作為上游來源加入。

  1. 登入 Azure DevOps,然後流覽至您的專案。

  2. 選取 [工件],然後選取 [建立饋送]。

  3. 輸入一個具有描述性的 名稱,並設定其 可視性。 指定 範圍,然後勾選 上游來源 的核取框,以包含來自公開登錄檔的套件。

  4. 完成後,選取建立

    一張截圖,展示如何在 Azure Artifact 中建立需求訂閱源並啟用上游來源。

在上游新增 PyPI

如果你在建立訂閱源時啟用 了上游來源 ,PyPI 應該會自動被加入為上游來源。 否則,您可以按照以下步驟手動新增它:

  1. 登入 Azure DevOps,然後流覽至您的專案。

  2. 選擇 Artifacts,然後選擇齒輪圖示的 齒輪圖示 以開啟 Feed Settings

  3. 選取 [ 上游來源],然後選取 [新增上游]。

  4. 選擇「公開來源」,然後從下拉選單中選擇 PyPI(https://pypi.org/)。

  5. 選擇 新增,然後在右上角選擇 儲存 ,以套用你的變更。

使用您的資料流進行驗證

確保你已經安裝了 Python 的前置條件,然後依照以下步驟連接你的訂閱源:

  1. 執行以下指令來升級你的 Python 套件管理器:

    python -m pip install --upgrade pip
    
  2. 執行下列命令以安裝 Azure Artifacts Keyring:

    pip install keyring artifacts-keyring
    
  3. 建立具有封裝讀取範圍的>,以對 Azure DevOps 進行驗證。 你第一次連接 Azure DevOps 時,會被要求輸入憑證。 輸入任何使用者名稱的值,並用你的 PAT 作為密碼。 這些憑證會被快取在本地,下次驗證時會重複使用。

  4. 請前往你的專案目錄,然後建立一個虛擬環境:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. 在你的虛擬環境中,建立一個 pip.ini 檔案(Windows)或 pip.conf 檔案(macOS/Linux),然後新增以下片段。 將佔位符取代為適當的值。 不要將此檔案提交到公開倉庫,因為它包含了你的個人存取權杖。

    • 專案範圍的摘要

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      
    • 組織範圍的資訊流

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      

從 PyPI 安裝套件

現在你已經用你的 feed 認證了,就可以像平常一樣從 PyPI 上游安裝套件。 你安裝的任何套件都會自動儲存到你的 Azure Artifacts feed。

在這個例子中,你會安裝 requests,一個 Python 常用的 HTTP 函式庫。

備註

要從上游來源儲存套件,您必須具備 Feed 和 Upstream Reader(協作者) 角色或更高級別。 詳情請參閱 管理權限

  1. 打開命令提示字元,進入你的專案目錄,然後啟動你的虛擬環境。 將佔位符替換為您稍早建立的虛擬環境名稱:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate
    
  2. 執行以下指令以安裝 PyPI 的請求 套件。

    pip install requests
    
  3. 安裝完成後,Azure Artifacts 會將套件副本儲存到你的訂閱串流。 請前往你的動態頁面確認包裹是否可用,如下圖所示。

    一張顯示從 PyPI 上游安裝的請求套件的截圖。