Python 패키지 인덱스의 패키지 사용(PyPI)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
개발자는 Azure Artifacts를 사용하여 Azure Artifacts 피드와 PyPI.org 같은 외부 레지스트리에서 패키지를 게시하고 사용할 수 있습니다. 업스트림 원본을 사용하도록 설정하면 단일 피드를 사용하여 사용자 고유의 패키지와 공용 레지스트리에서 사용되는 패키지를 모두 관리하여 패키지 관리를 간소화할 수 있습니다. 사용하도록 설정되면 Azure Artifacts는 공동 작업자 이상이 설치한 패키지의 복사본을 업스트림 원본에서 자동으로 저장합니다. 이 문서에서는 프로젝트를 설정하고 명령줄을 사용하여 PyPI에서 Python 패키지를 효율적으로 사용하는 방법을 안내합니다.
이 문서에서는 다음을 수행하는 방법을 알아봅니다.
- 피드에 업스트림 원본 사용
- PyPI를 업스트림 원본으로 추가
- 프로젝트 설정
- Python 패키지 인덱스에서 패키지 설치
필수 조건
새 피드를 만들 때 업스트림 원본 사용
피드를 아직 만들지 않은 경우 아래 단계에 따라 새 피드를 만듭니다. 업스트림 원본을 사용하도록 설정하려면 업스트림 원본에 대한 확인란을 선택해야 합니다. 피드가 이미 있는 경우 다음 단계로 건너뛰어 PyPI를 업스트림 원본으로 추가합니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트를 선택한 다음 피드 만들기를 선택하여 새 피드를 만듭니다.
피드에 대한 설명이 포함된 이름을 입력하고 피드 내의 패키지를 볼 수 있는 사용자를 나타내는 표시 유형을 정의합니다. 피드의 범위를 지정한 다음, 업스트림 원본 확인란을 선택하여 공용 레지스트리의 패키지를 포함합니다.
완료되면 만들기를 선택합니다.
새 업스트림 원본으로 PyPI 추가
피드를 만드는 동안 업스트림 원본 확인란을 선택한 경우 PyPI가 자동으로 업스트림 원본으로 포함되어야 합니다. 그렇지 않은 경우 다음 단계를 수행하여 수동으로 추가할 수 있습니다.
Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.
아티팩트 선택 및 기어 아이콘 을 선택하여 피드 설정으로 이동합니다.
업스트림 원본을 선택한 다음 업스트림 추가를 선택하여 새 업스트림 원본을 추가합니다.
공용 원본을 선택한 다음 드롭다운 메뉴에서 PyPI(https://pypi.org/)를 선택합니다.
완료되면 추가를 선택한 다음 오른쪽 위 모서리에서 저장을 선택하여 변경 내용을 저장합니다.
피드를 사용하여 인증
Python을 다운로드했는지 확인한 다음, 다음 명령을 실행하여 Python 패키지 관리자를 업그레이드합니다.
python -m pip install --upgrade pip
다음 명령을 실행하여 Azure Artifacts 키링을 설치합니다.
pip install keyring artifacts-keyring
패키징 읽기 범위를 사용하여 개인 액세스 토큰을>만들어 Azure DevOps로 인증합니다. Azure DevOps에 처음 연결할 때 메시지가 표시되면 자격 증명을 입력해야 합니다. 지정된 필드에 사용자 이름(모든 문자열) 및 개인 액세스 토큰을 제공합니다. 이러한 자격 증명은 로컬로 캐시되고 다음에 서비스를 사용할 때 자동으로 로그인하는 데 사용됩니다.
프로젝트 폴더로 이동한 다음, 다음 명령을 실행하여 새 가상 환경을 만듭니다.
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
가상 환경에서 새 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
합니다.
명령 프롬프트 창에서 프로젝트 폴더로 이동하고 다음 명령을 실행하여 가상 환경을 활성화합니다. 자리 표시자를 이전에 만든 가상 환경의 이름으로 바꿉다.
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
다음 명령을 실행하여 가상 환경에 설치된 패키지를 확인합니다.
pip list
다음 명령을 실행하여 Flask를 설치합니다.
pip install -U Flask
패키지가 설치되면 Azure Artifacts는 이 패키지의 복사본을 피드에 저장합니다. 아래 스크린샷과 같이 피드에서 패키지를 사용할 수 있어야 합니다.