为什么我的 setup.py 长描述没有显示在 pypi 上?

Why isn't my setup.py long description showing on pypi?

正在尝试将一个包上传到 pypi,除了我的 long_description 之外,一切正常。它本来是要通读我的 README.rst 但它在 pypi 上是空白的。 docutils rst2html 没有抛出任何错误,setup.py --long-description 打印出我的自述文件,setup.py -check 也没有产生错误。

https://pypi.python.org/pypi/cryptocli

Setup.py:

# -*- coding: utf-8 -*-

from setuptools import setup, find_packages


with open('README.rst') as f:
    readme = f.read()

with open('LICENSE') as f:
    license = f.read()

setup(
    name='cryptocli',
    version='0.1.3',
    description='CLI to query cryptocurrency value',
    long_description=readme,
    author='huwwp',
    author_email='hpigott@gmail.com',
    url='https://github.com/huwwp/cryptocli',
    license=license,
    keywords='crypto cli query cryptocurrency bitcoin',
    packages=find_packages(exclude=('tests', 'docs')),
    install_requires=['requests'],
    py_modules=['cryptocli'],
    entry_points = {
        'console_scripts': ['cryptocli = cryptocli:main'],
    }
)

README.rst:

cryptocli
=========

Command line interface for querying current value of cryptocurrenies in
given fiat.

Usage
-----

Simple query

.. code:: bash

    cryptocli BTC
    2332.1

Accepts a comma seperated list of coins

.. code:: bash

    cryptocli BTC,ETH,XMR
    2404.39
    218.53
    40

Query with conversion to a given currency.

.. code:: bash

    cryptocli BTC,ETH,XMR -c JPY
    269731.76
    24712.42
    4563.86

Query with conversion and outputting a formatted string

.. code:: bash

    cryptocli BTC,ETH,XMR -c JPY -f
    BTCJPY:269679.75
    ETHJPY:24718.85
    XMRJPY:4562.29

Credits
-------

Uses the cryptocompare.com API

Tipjar
------

BTC: 15wNW29q7XAEbC8yus49CWvt91JkhcdkoW

Disclosure
----------

I am not liable for the accuracy of this program’s output nor actions
performed based upon it.

license 参数用于提供您正在使用的软件许可证的名称(例如,'MIT''GPLv2'),而不是用于提供许可证的完整文本.显然,无论您用来构建 sdist 的哪个版本的 setuptools 都无法处理多行许可证,因为 sdist 中的 PKG-INFO 文件如下所示:

Metadata-Version: 1.0
Name: cryptocli
Version: 0.1.3
Summary: CLI to query cryptocurrency value
Home-page: https://github.com/huwwp/cryptocli
Author: huwwp
Author-email: hpigott@gmail.com
License: MIT License

Copyright (c) 2017 huwwp

Permission is hereby granted, ...

Description: cryptocli
        =========

        Command line interface for querying current value of cryptocurrenies in
        given fiat.
...

setuptools 未能缩进许可证文本导致 PKG-INFO 的所有后续字段(包括长描述和关键字)无法解析,因此它们不显示在 PyPI 上。您应该只在 setup.py 中写入 license='MIT'

(顺便说一下,您的 LICENSE 文件不会自动包含在您的 sdist 中,除非您将其列在 MANIFEST.in 文件中,并且缺少 LICENSE 会导致您的 setup.py 失败,所以目前没有人可以按原样安装你的包!)