다음을 통해 공유


Python 패키지 인덱스의 패키지 사용(PyPI)

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

개발자는 Azure Artifacts를 사용하여 Azure Artifacts 피드 및 pypi.org 같은 외부 레지스트리에서 패키지를 게시하고 사용할 수 있습니다. 이 문서에서는 프로젝트를 설정하고 명령줄을 사용하여 PyPI에서 Python 패키지를 효율적으로 사용하는 방법을 안내합니다.

이 문서에서는 다음을 수행하는 방법을 알아봅니다.

  • 피드에 업스트림 원본 사용
  • PyPI를 업스트림 원본으로 추가
  • 프로젝트 설정
  • Python 패키지 인덱스에서 패키지 설치

필수 조건

  • Azure DevOps 조직 및 프로젝트. 조직 또는 프로젝트를 아직 만들지 않은 경우 만듭니다.

  • Azure Artifacts 피드입니다.

  • Python을 다운로드 합니다.

업스트림 원본 사용

피드를 아직 만들지 않은 경우 아래 단계에 따라 새 피드를 만듭니다. 업스트림 원본의 상자를 검사 업스트림 원본을 사용하도록 설정해야 합니다. 피드가 이미 있는 경우 다음 단계로 건너뛰어 PyPI를 업스트림 원본으로 추가합니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트를 선택한 다음 피드 만들기를 선택하여 새 피드를 만듭니다.

  3. 피드에 대한 설명이 포함된 이름을 입력하고 피드 내의 패키지를 볼 수 있는 사용자를 나타내는 표시 유형을 정의합니다. 피드의 범위를 지정한 다음, 공용 레지스트리의 패키지를 포함하도록 업스트림 원본 검사box를 검사.

  4. 완료되면 만들기를 선택합니다.

    A screenshot showing how to create a need feed.

PyPI 업스트림 추가

피드를 만드는 동안 업스트림 원본 검사box를 선택한 경우 PyPI가 자동으로 업스트림 원본으로 포함되어야 합니다. 그렇지 않은 경우 다음 단계를 수행하여 수동으로 추가할 수 있습니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 선택 후 기어 아이콘 gear icon 을 선택하여 피드 설정 이동합니다.

  3. 업스트림 원본을 선택한 다음 업스트림 추가를 선택하여 새 업스트림 원본을 추가합니다.

  4. 공용 원본을 선택한 다음 드롭다운 메뉴에서 PyPI(https://pypi.org/)를 선택합니다.

  5. 완료되면 저장을 선택한 다음 오른쪽 위 모서리에서 한 번 더 저장을 선택하여 변경 내용을 저장합니다.

피드를 사용하여 인증

  1. Python을 다운로드했는지 확인한 다음, 다음 명령을 실행하여 Python 패키지 관리자를 업그레이드합니다.

    python -m pip install --upgrade pip
    
  2. 다음 명령을 실행하여 Azure Artifacts 키링을 설치합니다.

    pip install keyring artifacts-keyring
    
  3. 패키징 읽기 범위를 사용하여 개인 액세스 토큰>만들어 Azure DevOps로 인증합니다. Azure DevOps에 처음 연결할 때 메시지가 표시되면 자격 증명을 입력해야 합니다. 지정된 필드에 사용자 이름(모든 문자열) 및 개인 액세스 토큰을 제공합니다. 이러한 자격 증명은 로컬로 캐시되고 다음에 서비스를 사용할 때 자동으로 로그인하는 데 사용됩니다.

  4. 프로젝트 폴더로 이동한 다음, 다음 명령을 실행하여 새 가상 환경을 만듭니다.

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. 가상 환경에서 새 pip.ini 파일(Windows) 또는 pip.conf 파일(Mac/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에서 패키지 설치

이제 피드를 사용하여 인증하도록 프로젝트를 구성했으므로 PyPI 업스트림 패키지 설치를 시작할 수 있습니다. 이 예제에서는 다음을 설치 Flask합니다.

  1. 명령 프롬프트 창에서 프로젝트 폴더로 이동하고 다음 명령을 실행하여 가상 환경을 활성화합니다. 자리 표시자를 이전에 만든 가상 환경의 이름으로 바꿉다.

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. 다음 명령을 실행하여 가상 환경에 설치된 패키지를 검사.

    pip list
    
  3. 다음 명령을 실행하여 Flask를 설치합니다.

    pip install -U Flask
    
  4. 패키지가 설치되면 Azure Artifacts는 이 패키지의 복사본을 피드에 저장합니다. 아래 스크린샷과 같이 피드에서 패키지를 사용할 수 있어야 합니다.

    A screenshot showing packages installed from PyPI upstream.