我将软件包上传到pypi.org,但是我的RST自述文件格式不正确。
这是在GitHub上的样子:https://github.com/NinjaSnail1080/akinator.py
这是在PyPi上的样子:https://pypi.org/project/akinator.py/
由于某种原因,在GitHub上所有内容的格式都正确,但在PyPi上则完全没有格式。与其显示RST格式的自述文件,不如说是一堆完整的未格式化文本。
我尝试在项目上运行python3 -m twine check dist/*
,并获得了以下信息:
Checking distribution dist/akinator.py-1.0.3.dev3-py3-none-any.whl: warning: `long_description_content_type` missing. defaulting to `text/x-rst`.
Failed
The project's long_description has invalid markup which will not be rendered on PyPI. The following syntax errors were detected:
line 26: Error: Unexpected indentation.
Checking distribution dist/akinator.py-1.0.3.dev3.tar.gz: warning: `long_description_content_type` missing. defaulting to `text/x-rst`.
Failed
The project's long_description has invalid markup which will not be rendered on PyPI. The following syntax errors were detected:
line 26: Error: Unexpected indentation.
line 26: Error: Unexpected indentation.
由于某种原因,它说long_description_content_type
丢失了,这是不正确的。我的setup.py文件专门说long_description_content_type="text/x-rst"
。它还在long description
的第26行中提到了意外的缩进,但该行根本没有缩进。
我绝对不知道我在这里做错了什么。不知何故,它在GitHub上看起来还不错,但是在PyPi上,只是一团糟。 twine check
给我的警告没有任何意义。
答案 0 :(得分:1)
问题是您在License
字段中是including your entire license,但是此字段是only supposed to be a short description or name of the license –不应包含换行符。
这将产生以下元数据:
Metadata-Version: 2.1
Name: akinator.py
Version: 1.0.3.dev2
Summary: An API wrapper for the online game, Akinator, written in Python
Home-page: https://github.com/NinjaSnail1080/akinator.py
Author: NinjaSnail1080
Author-email: innuganti.ashwin@gmail.com
License: MIT License
Copyright (c) 2019 NinjaSnail1080
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
第一个换行符之后的所有内容都解释为Long-Description
。
要解决此问题,只需设置license="MIT"
或将其完全省略-它是可选的,并且您已经在分类列表中找到了它。
setuptools
的一个https://github.com/pypa/setuptools/issues/1390
答案 1 :(得分:0)
我有相同的症状。使用python3.7代替python3.6有帮助:
python3.7 setup.py sdist bdist_wheel
操作系统:Ubuntu 18.04.2 LTS