pypi 패키지 API token 인증

김예신·2024년 1월 7일
0

이지피클링🥒

목록 보기
1/2
post-thumbnail

아이~ 시민(나)을 위해 일하려고 했는데 미치겠다~
나만의 소중한 pypi 패키지를 만드려고 했더니 갑자기 API token을 인증하라고 했다.
참고한 어느곳에서도 이런 얘기는 없었는데 말이다!

403 Forbidden from https://upload.pypi.org/legacy/ Username/Password authentication is no longer supported. Migrate to API Tokens or Trusted Publishers instead. See https://pypi.org/help/apitoken and https://pypi.org/help/#trusted-publishers

가볍게 이름이나 찜해놓고 가려고 했는데 왜 나한테만 이렇게 가혹한 건데...!(아님)
2023년 말부터 모든 유저에게 2단계 인증이 요구된다고 한다.

2단계 인증

가입만 하면 된다고 하더니 2단계 인증이 쉽지 않다.
QR코드로 OTP 인증까지 끝내야만 account setting으로 접근할 수 있다.
(블로깅할 생각이 없었어서 관련이미지가 없음😅)

API token 발급

Account settings화면

accout settings에서 아래로 쭉쭉내려주면 API tokens가 있다.

원하는 이름으로 토큰을 발급해준다.
그냥 forezpkl 이라는 이름으로 발급했다.

API token 등록

발급받은 token을 잘 복사해서 아래 경로에 등록해주면 되는데, example에 내 token을 잘 넣어주었길래 터미널에

vim $HOME/.pypirc
code $HOME/.pypirc

처럼 입력해 원하는 편집기로 위의 example을 그대로 입력해준다.
나는 vim을 이용해서 아래처럼 입력해줬다.

그래도 에러가 난다.🤯 왤까?

찾아보니 위와 같은 에러는 이메일 인증을 안받았을 때 뜨기도 한다고.
즉, 결국 인증문제임을 알 수 있는 데 차분히 로그를 살펴보니
7번째 줄에 username을 __token_으로 언더바 하나를 빼먹고 적은 걸 알 수 있다.

이렇게 컴퓨터랑 싸우다 보면 항상 내 잘못임을 알 수 있다.
미안합니다. 미안합니다...

pypi package upload

package build

python setup.py sdist bdist_wheel
  • sdist (Source Distribution): 소스 코드를 포함하는 tar.gz 파일을 생성
  • bdist_wheel (Built Distribution Wheel): 패키지를 Wheel 형식(바이너리 형태).whl확장자를 가진 파일을 빌드

package upload

twine upload dist/*

dist folder에 생긴 파일들을 pypi server에 업로드한다.

참고

나머지 해야 할 일

  • 코드 마저 완성하기
  • 테스트 코드 짜기
  • README 작성
  • commit 했을 때 자동으로 배포되도록 cd
profile
life is dancing

0개의 댓글