Microsoft MVP성태의 닷넷 이야기
오류 유형: 770. twine 업로드 시 "HTTPError: 400 Bad Request ..." 오류 [링크 복사], [링크+제목 복사]
조회: 6972
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

twine 업로드 시 "HTTPError: 400 Bad Request ..." 오류

이상하군요, 동일한 setup.py로 패키징한 whl 파일을 윈도우에서는 정상적으로 업로드하는데, 리눅스 환경에서는 다음과 같은 식으로 오류가 발생합니다.

$ twine upload dist/...[생략]...-none-any.whl
...[생략]...
Uploading distributions to https://upload.pypi.org/legacy/
Uploading ...[생략]...-none-any.whl
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4.64M/4.64M [00:03<00:00, 1.50MB/s]
Error during upload. Retry with the --verbose option for more details.
HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
The description failed to render for 'text/x-rst'. See https://pypi.org/help/#description-content-type for more information.

이에 대한 확인을 twine 도구로 할 수 있습니다.

$ twine check dist/...[생략]...-none-any.whl
Checking dist/jennifer_python-5.3.0.15-py3-none-any.whl: FAILED
  `long_description` has syntax errors in markup and would not be rendered on PyPI.
    line 12: Warning: Title underline too short.

    패키지 사용법
    ----------

오류도 아닌, 경고에 불과한 것을 "FAILED" 처리했군요. ^^; (그러니까 윈도우 버전의 twine에서는 저런 검증 과정을 기본적으로 제공하지 않고 있었던 것입니다.) 암튼, 원인은 "패키지 사용법"의 글자보다 그 하단에 있는 "----------" 글자가 더 적기 때문입니다. 대충 아래와 같이 길이를 키워주시면 오류가 발생하지 않습니다.

    패키지 사용법
    ------------------




혹은 아래와 같은 오류가 발생한다면?

ERROR    `long_description` has syntax errors in markup and would not be rendered on PyPI.                                                                          line 114: Warning: malformed hyperlink target.

해당 line(위의 경우 114)에 가봤더니 다음과 같은 내용이 있는데,

.. _mysqlclient >= 2.0.3:: https://github.com/PyMySQL/mysqlclient-python

실수로 "2.0.3:: "과 같이 2개의 "::"을 넣었기 때문에 발생한 것입니다. 따라서 "2.0.3:"으로 바꾼 후 실행하면 잘 됩니다. ^^;





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

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/7/2022]

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

비밀번호

댓글 작성자
 



2022-08-17 02시43분
restview 3.0.0
; https://pypi.org/project/restview/


$ pip install restview

$ restview test.rst
정성태

1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...
NoWriterDateCnt.TitleFile(s)
13254정성태2/10/20234383Windows: 223. (WMI 쿼리를 위한) PowerShell 문자열 escape 처리
13253정성태2/9/20235159Windows: 222. C# - 다른 윈도우 프로그램이 실행되었음을 인식하는 방법파일 다운로드1
13252정성태2/9/20233996오류 유형: 844. ssh로 명령어 수행 시 멈춤 현상
13251정성태2/8/20234441스크립트: 44. 파이썬의 3가지 스레드 ID
13250정성태2/8/20236255오류 유형: 843. System.InvalidOperationException - Unable to configure HTTPS endpoint
13249정성태2/7/20235089오류 유형: 842. 리눅스 - You must wait longer to change your password
13248정성태2/7/20234160오류 유형: 841. 리눅스 - [사용자 계정] is not in the sudoers file. This incident will be reported.
13247정성태2/7/20235060VS.NET IDE: 180. Visual Studio - 닷넷 소스 코드 디버깅 중 "Decompile source code"가 동작하는 않는 문제
13246정성태2/6/20234180개발 환경 구성: 664. Hyper-V에 설치한 리눅스 VM의 VHD 크기 늘리는 방법 - 두 번째 이야기
13245정성태2/6/20234753.NET Framework: 2093. C# - PEM 파일을 이용한 RSA 개인키/공개키 설정 방법파일 다운로드1
13244정성태2/5/20234100VS.NET IDE: 179. Visual Studio - External Tools에 Shell 내장 명령어 등록
13243정성태2/5/20234957디버깅 기술: 190. windbg - Win32 API 호출 시점에 BP 거는 방법 [1]
13242정성태2/4/20234394디버깅 기술: 189. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.UnauthorizedAccessException
13241정성태2/3/20233904디버깅 기술: 188. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.IO.FileNotFoundException
13240정성태2/1/20234058디버깅 기술: 187. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.Web.HttpException
13239정성태2/1/20233722디버깅 기술: 186. C# - CacheDependency의 숨겨진 예외 - System.Web.HttpException
13238정성태1/31/20235795.NET Framework: 2092. IIS 웹 사이트를 TLS 1.2 또는 TLS 1.3 프로토콜로만 운영하는 방법
13237정성태1/30/20235464.NET Framework: 2091. C# - 웹 사이트가 어떤 버전의 TLS/SSL을 지원하는지 확인하는 방법
13236정성태1/29/20235072개발 환경 구성: 663. openssl을 이용해 인트라넷 IIS 사이트의 SSL 인증서 생성
13235정성태1/29/20234635개발 환경 구성: 662. openssl - 윈도우 환경의 명령행에서 SAN 적용하는 방법
13234정성태1/28/20235717개발 환경 구성: 661. dnSpy를 이용해 소스 코드가 없는 .NET 어셈블리의 코드를 변경하는 방법 [1]
13233정성태1/28/20237035오류 유형: 840. C# - WebClient로 https 호출 시 "The request was aborted: Could not create SSL/TLS secure channel" 예외 발생
13232정성태1/27/20234800스크립트: 43. uwsgi의 --processes와 --threads 옵션
13231정성태1/27/20233719오류 유형: 839. python - TypeError: '...' object is not callable
13230정성태1/26/20234094개발 환경 구성: 660. WSL 2 내부로부터 호스트 측의 네트워크로 UDP 데이터가 1개의 패킷으로만 제한되는 문제
13229정성태1/25/20235084.NET Framework: 2090. C# - UDP Datagram의 최대 크기
1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...