웹사이트 검색

Ubuntu 22.04에서 Poetry를 사용하여 Python 패키지를 PyPI에 게시하는 방법


소개

PyPI는 Python 패키지를 업로드하고 다운로드하기 위한 공식 Python 리포지토리이며 이 자습서에서 사용됩니다. Python 패키지의 공식 타사 소스이며 Python Software Foundation에서 운영합니다. PyPI에 패키지를 게시하면 자신이나 다른 사람이 설치할 수 있도록 공개적으로 사용할 수 있습니다.

이 자습서에서는 PyPI 계정을 만들고 Poetry와 함께 사용할 수 있도록 계정으로 토큰 인증을 설정한 다음 패키지 프로젝트를 빌드하고 PyPI에 게시합니다. 이렇게 하면 게시된 패키지를 다른 Python 프로젝트에 대한 종속성으로 추가할 수도 있습니다.

전제 조건

  • Ubuntu 22.04용 초기 서버 설정 가이드에 따라 sudo 권한이 있고 방화벽이 활성화된 루트가 아닌 사용자로 설정된 Ubuntu 22.04 서버.
  • Python 3을 설치하고 Ubuntu 22.04 서버에서 프로그래밍 환경을 설정하는 방법의 1단계에 따라 컴퓨터에 설치된 최신 버전의 Python 3.
  • Ubuntu 22.04에서 Python 종속성을 관리하기 위해 Poetry를 설치하는 방법에 대한 이 가이드에 따라 시스템에 Poetry를 설치했습니다.

1단계 - PyPI 계정 생성

패키지를 PyPI에 게시하려면 계정을 만들어야 합니다. 웹 브라우저에서 공식 등록 페이지로 이동합니다.

다음으로 Poetry에서 PyPI 자격 증명을 안전하게 사용하려면 토큰 인증을 활성화해야 합니다.

2단계 - PyPI에 대한 토큰 인증 활성화

토큰 인증은 명령줄에서 PyPI 계정을 사용하는 데 권장되는 방법입니다. 사용자 이름과 암호 대신 자동으로 생성된 단일 토큰을 사용할 수 있습니다. 토큰은 언제든지 추가 및 취소하거나 계정의 일부에 대한 세분화된 액세스 권한을 부여할 수 있습니다. 이렇게 하면 비밀번호가 더 안전해지고 비밀번호가 노출될 위험을 피할 수 있습니다. 계정 설정으로 이동하여 계정에 대한 새 API 토큰을 생성해야 합니다.

"API 토큰\ 섹션에 도달할 때까지 아래로 스크롤합니다. "API 토큰 추가\를 클릭합니다.

다음 페이지에서 토큰의 이름을 지정할 수 있습니다. 이 튜토리얼에서는 이름을 poetry로 지정하지만 원하는 이름을 자유롭게 선택하세요.

토큰이 생성되면 한 번만 표시되므로 토큰을 복사하는 것이 중요합니다. 이것은 필요에 따라 새 토큰을 만들 수 있는 API 토큰의 일반적인 관행이므로 진행하기 전에 토큰을 기록해 두십시오.

이제 이 토큰을 사용하여 게시 준비를 위해 Poetry에서 자격 증명을 구성합니다. API 토큰을 Poetry에서 필요한 모든 명령에 추가하는 대신 Poetry의 config 명령을 사용하여 한 번 수행합니다.

다음 명령을 사용하여 Poetry에 API 토큰을 추가합니다.

  1. poetry config pypi-token.pypi your-api-token

API 토큰이 자격 증명으로 추가되면 Poetry는 자격 증명이 일반 텍스트 파일에 저장되었음을 알려줍니다. 자격 증명에 기존 사용자 이름과 암호를 사용하는 경우 문제가 됩니다. 토큰을 쉽게 삭제하고 갱신할 수 있는 동시에 무작위로 생성되고 단일 사용 사례에 고유하다는 점을 감안할 때 여기에서 토큰 스토리지는 편리함을 위한 안전한 트레이드오프가 됩니다. 또는 각 명령에 대해 API 토큰을 수동으로 입력하도록 선택할 수 있습니다.

이것으로 프로젝트를 빌드하고 게시할 준비가 된 것입니다.

3단계 - 프로젝트 구축

빌드는 프로젝트 패키징과 동일하며 게시하기 전에 필요한 단계입니다. 프로젝트를 빌드하려면 다음을 입력하십시오.

poetry build
Output
Building sammy-poetry (0.1.0) - Building sdist - Built sammy-poetry-0.1.0.tar.gz - Building wheel - Built sammy_poetry-0.1.0-py3-none-any.whl

두 개의 파일이 출력됩니다. 첫 번째는 tar.gz 파일로 출력되는 sdist 소스입니다. 두 번째는 .whl 파일로 출력되는 wheel인 컴파일된 패키지입니다. 이러한 파일을 사용하면 이제 Python 패키지를 PyPI에 게시할 준비가 되었습니다.

4단계 — Python 패키지를 PyPI에 게시

PyPI는 Poetry의 기본 게시 대상입니다. 인증 API 토큰이 이미 있으면 게시 명령에 자격 증명을 다시 포함할 필요가 없습니다.

컴파일된 패키지를 게시하려면 다음을 입력합니다.

poetry publish
Output
Publishing sammy-poetry (0.1.0) to PyPI - Uploading sammy-poetry-0.1.0.tar.gz 100% - Uploading sammy_poetry-0.1.0-py3-none-any.whl 100%

이제 게시된 패키지를 확인할 수 있습니다. 브라우저에서 PyPI 프로젝트를 엽니다.

패키지가 게시되고 PyPI에서 공개적으로 사용 가능하며 Poetry를 통해 종속성으로도 사용 가능합니다. 다른 Python 프로젝트에서 자신의 게시된 패키지를 종속성으로 추가할 수 있습니다.

참고: publish 호출에 다음 플래그를 추가하여 하나의 명령으로 패키지를 빌드하고 PyPI에 게시할 수 있습니다.

  1. poetry publish --build

이는 프로젝트 및 워크플로의 성숙도에 따라 더 효율적일 수 있습니다.

결론

이 자습서에서는 빌드 및 게시 기능을 위해 Poetry를 사용했습니다. PyPI 계정을 만들고 Poetry로 API 토큰 인증을 설정한 다음 프로젝트를 게시하기 전에 컴파일했습니다. 귀하의 패키지는 공개적으로 종속성으로 사용할 수 있으며 Poetry를 통해 종속성으로 포함될 수도 있습니다.

다음으로 Python 자습서 시리즈에서 코딩하는 방법을 확인하여 Python에 대해 더 깊이 파고들 수 있습니다.