Microsoft MVP성태의 닷넷 이야기
오류 유형: 815. PyPI에 업로드한 패키지가 반영이 안 되는 경우 [링크 복사], [링크+제목 복사],
조회: 15978
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

PyPI에 업로드한 패키지가 반영이 안 되는 경우

이상하군요, 분명히 5.6.0.12 새 버전으로 twine upload를 잘 했는데,

++ twine upload --repository pypi /app/python-agent/dist/jennifer_python-5.6.0.12-py3-none-any.whl
Uploading distributions to https://upload.pypi.org/legacy/
Uploading jennifer_python-5.6.0.12-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.6/4.6 MB • 00:02 • 2.9 MB/s

PyPI 화면에 가보면 이렇게 이전 버전의 내용만 나옵니다.

pypi_update_1.png

재미있는 것은, 업로드한 버전을 콕 집어 보면,

https://pypi.org/project/jennifer-python/5.6.0.12/

이렇게 ^^; 해당 버전이 나옵니다.

pypi_update_2.png

하지만 예상할 수 있는 것처럼, pip install 명령으로 설치되는 버전은 5.6.0.12가 아니라 5.6.0.10 버전입니다. 그리고 이때 "-v" 옵션을 함께 주면,

$ pip install -v jennifer-python
...[생략]...
Given no hashes to check 17 links for project 'jennifer-python': discarding no candidates
Using version 5.6.0.10 (newest of versions: 5.3.0.20, 5.6.0.7, 5.6.0.8, 5.6.0.9, 5.6.0.10)
Collecting jennifer-python
...[생략]...

나열되는 버전에 5.6.0.12가 없습니다.




결론 먼저 말하면... 이것을 해결하는 방법은 그냥 기다리는 것으로, 원인은 PyPI의 내부 문제 탓이었던 것입니다.

이럴 때는 아래의 경로에 들어가,

https://twitter.com/PyPI
https://status.python.org/history

현재 문제가 없는지 확인해 보는 것도 도움이 될 수 있습니다. (이력을 보시면 알겠지만, 한 달에 2~3건 정도니까 제법 잦은 빈도에 해당합니다.) 그런데, 한국과 PyPI 관리자들의 업무 시간이 다를 것이므로 하루 정도는 그냥 기다려야 하는 수도 있습니다. 실제로 제 경우에 어제 오전에 이런 문제를 겪었는데 twitter 기록을 보면 오늘 새벽 시간에 문제를 인지하고 3시간이 지난 후 해결한 것으로 나옵니다.

암튼, 저도 처음이다 보니... ^^; 보통 PyPI의 패키지들이 3자리 이하의 버전 번호를 써서 제 경우에 4자리 버전을 사용해서 안 되는 것인가...? 라고 의심도 해보고 심지어 4자리 버전의 경우 마지막 자리의 숫자가 (하필 10이어서) 10까지만 지원하는 것인가...? 라는 온갖 추측과 검색으로 시간을 꽤나 낭비했습니다.

여러분은 저처럼 스트레스받지 마시고... ^^ 그냥 커피 한 잔과 함께 다른 업무 보면서 길게는 하루까지 기다려 보시면 될 것입니다.




(2024-03-28) 간혹 가다가, 업로드 자체를 PyPI 측에서 중지시키는 경우가 있습니다. 그런 경우 이런 오류 메시지를 보게 됩니다.
WARNING  Error during upload. Retry with the --verbose option for more details.
ERROR    HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
         New uploads are temporarily disabled. See https://pypi.org/help/#admin-intervention for more information.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 3/28/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
13198정성태12/18/202214037.NET Framework: 2080. C# - Microsoft.XmlSerializer.Generator 처리 없이 XmlSerializer 생성자를 예외 없이 사용하고 싶다면?파일 다운로드1
13197정성태12/17/202213553.NET Framework: 2079. .NET Core/5+ 환경에서 XmlSerializer 사용 시 System.IO.FileNotFoundException 예외 발생하는 경우파일 다운로드1
13196정성태12/16/202214262.NET Framework: 2078. .NET Core/5+를 위한 SGen(Microsoft.XmlSerializer.Generator) 사용법
13195정성태12/15/202214498개발 환경 구성: 655. docker - bridge 네트워크 모드에서 컨테이너 간 통신 시 --link 옵션 권장 이유
13194정성태12/14/202214306오류 유형: 833. warning C4747: Calling managed 'DllMain': Managed code may not be run under loader lock파일 다운로드1
13193정성태12/14/202214837오류 유형: 832. error C7681: two-phase name lookup is not supported for C++/CLI or C++/CX; use /Zc:twoPhase-
13192정성태12/13/202214813Linux: 55. 리눅스 - bash shell에서 실수 연산
13191정성태12/11/202216402.NET Framework: 2077. C# - 직접 만들어 보는 SynchronizationContext파일 다운로드1
13190정성태12/9/202218425.NET Framework: 2076. C# - SynchronizationContext 기본 사용법파일 다운로드1
13189정성태12/9/202217839오류 유형: 831. Visual Studio - Windows Forms 디자이너의 도구 상자에 컨트롤이 보이지 않는 문제
13188정성태12/9/202217273.NET Framework: 2075. C# - 직접 만들어 보는 TaskScheduler 실습 (SingleThreadTaskScheduler) [1]파일 다운로드1
13187정성태12/8/202216752개발 환경 구성: 654. openssl - CA로부터 인증받은 새로운 인증서를 생성하는 방법 (2)
13186정성태12/6/202214637오류 유형: 831. The framework 'Microsoft.AspNetCore.App', version '...' was not found.
13185정성태12/6/202215594개발 환경 구성: 653. Windows 환경에서의 Hello World x64 어셈블리 예제 (NASM 버전)
13184정성태12/5/202213468개발 환경 구성: 652. ml64.exe와 link.exe x64 실행 환경 구성 [1]
13183정성태12/4/202213326오류 유형: 830. MASM + CRT 함수를 사용하는 경우 발생하는 컴파일 오류 정리 [1]
13182정성태12/4/202215205Windows: 217. Windows 환경에서의 Hello World x64 어셈블리 예제 (MASM 버전)
13181정성태12/3/202213940Linux: 54. 리눅스/WSL - hello world 어셈블리 코드 x86/x64 (nasm)
13180정성태12/2/202215194.NET Framework: 2074. C# - 스택 메모리에 대한 여유 공간 확인하는 방법파일 다운로드1
13179정성태12/2/202213749Windows: 216. Windows 11 - 22H2 업데이트 이후 Terminal 대신 cmd 창이 뜨는 경우
13178정성태12/1/202214855Windows: 215. Win32 API 금지된 함수 - IsBadXxxPtr 유의 함수들이 안전하지 않은 이유파일 다운로드1
13177정성태11/30/202215433오류 유형: 829. uwsgi 설치 시 fatal error: Python.h: No such file or directory
13176정성태11/29/202212217오류 유형: 828. gunicorn - ModuleNotFoundError: No module named 'flask'
13175정성태11/29/202216875오류 유형: 827. Python - ImportError: cannot import name 'html5lib' from 'pip._vendor'
13174정성태11/28/202213344.NET Framework: 2073. C# - VMMap처럼 스택 메모리의 reserve/guard/commit 상태 출력파일 다운로드1
13173정성태11/27/202214382.NET Framework: 2072. 닷넷 응용 프로그램의 스레드 스택 크기 변경
... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...