pdm install
Lock file does not exist
Updating the lock file...
🔒 Lock successful
Changes are written to pdm.lock.
All packages are synced to date, nothing to do.
Installing the project as an editable package...
✔ Install hello-8trider 0.1.0 successful
🎉 All complete!
(hello-8trider-3.8) ⚡ root@LAPTOP-TAQDM786 ~/code/hello-8trider main ± pdm publish
Building sdist...
Built sdist at /root/code/hello-8trider/dist/hello_8trider-0.1.0.tar.gz
Building wheel...
Built wheel at /root/code/hello-8trider/dist/hello_8trider-0.1.0-py3-none-any.whl
Username: opeth8
Password:
Save credentials to keyring? [y/n] (n): n
Uploading hello_8trider-0.1.0-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 kB • 00:00 • ?See /tmp/pdm-publish-pjp_i6yi.log for detailed debug log.
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 kB • 00:00 • ?
[PublishError]: 403 Client Error: You must enable two factor authentication to upload for url:
https://upload.pypi.org/legacy/
Two factor authentication (2FA)(이중 인증)을 거쳐야 합니다. Pypi 개인 계정 설정으로 들어가서 먼저 Two factor authentication (2FA)를 생성합니다. 왼쪽의 Add 2FA with authentication application을 클릭하는 것이 건강에 이롭습니다.
설정 창으로 이동하면 QR코드가 뜹니다. 이를 인증 애플리케이션으로 촬영한 후 인증번호를 발급받아야 합니다. 강사님께서 위에 사진으로도 올려주신 것과 같이 Google Authenticator 앱이 가장 사용이 편합니다.
설치 후 구글 계정 로그인 하시면 왼쪽 아래에 더하기 기호가 있습니다. 터치 후 QR 코드 촬영으로 컴퓨터 화면의 QR 코드를 촬영합니다. 촬영이 완료되면 여섯 자리 숫자가 발급되는데, 이 숫자를 QR 코드 옆의 verification code에 입력합니다.
이중 인증 완료 후 아래에 있는 API Token 칸에서 토큰을 생성합니다. 토큰 이름은 임의로 정하셔도 무방합니다(최소한 지금까지 파악한 바로는 그렇습니다).
토큰이 생성된 후 토큰 값이 나옵니다. 이 값은 두 번 다시 조회할 수 없고 오직 지금만 조회할 수 있기 때문에 이 토큰 값을 반드시 별도의 파일로 저장해두세요.
이후 pdm publish를 실행할 때 username에는 __token__을, password에는 방금 발급받은 토큰 값을 입력하면 정상적으로 배포가 진행됩니다.
pdm install Lock file does not exist Updating the lock file... 🔒 Lock successful Changes are written to pdm.lock. All packages are synced to date, nothing to do. Installing the project as an editable package... ✔ Install hello-8trider 0.1.0 successful
🎉 All complete!
(hello-8trider-3.8) ⚡ root@LAPTOP-TAQDM786 ~/code/hello-8trider main ± pdm publish Building sdist... Built sdist at /root/code/hello-8trider/dist/hello_8trider-0.1.0.tar.gz Building wheel... Built wheel at /root/code/hello-8trider/dist/hello_8trider-0.1.0-py3-none-any.whl Username: opeth8 Password: Save credentials to keyring? [y/n] (n): n Uploading hello_8trider-0.1.0-py3-none-any.whl 100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 kB • 00:00 • ?See /tmp/pdm-publish-pjp_i6yi.log for detailed debug log. 100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 kB • 00:00 • ? [PublishError]: 403 Client Error: You must enable two factor authentication to upload for url: https://upload.pypi.org/legacy/