PyPI 終於支持 Markdown 了
TLNR:一言以蔽之,就是 pip 包的 README 終於用 Markdown 寫 了。
Finally! PyPI 終於支持 Markdown 格式的項目描述了。這是一個很常見的需求,經過大量工作(包括創建 PEP 566)現在終於實現了,再也無需將 Markdown 轉換為 rST 了。
以下是發布使用 Markdown 項目描述的項目所需的步驟。
1. 有一個 README.md
文件
其擴展名不一定是 .md(.mkdn 或 .markdown 或其他任何東西都可以),只要確保你將其設置為 long_description。
2.setup.py
中添加一個新參數
PEP 566 添加的新的元數據欄位中有一個 Description-Content-Type
,要為的 long_description 設置內容類型,需要將以下參數添加到項目的 setup.py 中的 setup() 調用中:
long_description=long_description,+ long_description_content_type="text/markdown",
3.更新 setuptools
需要 setuptools>= 38.6.0 才能使用新的元數據生成發布包。
$ pip install -U setuptools
你也必須實際使用 setuptools(譯者注,這意味著不能使用 distutils
),這意味著在 setup.py 中有一個類似的導入:
from setuptools import setup
4.生成源碼分發包
這個不變
$ python setup.py sdist
5. 升級 twine
必須用 twine 上傳分發包,並且只有 twine> = 1.11.0 才能將元數據正確發送到 PyPI。
$ pip install -U twine
6. 上傳分發包
這個也不變
$ twine upload dist/*
7. 在pypi.org
上查看項目
只有 https://pypi.org 才能正確渲染新的 Markdown 描述。
而 Legacy PyPI (http://pypi.python.org/) 仍然會將描述渲染為純文本,但不用擔心,它很快就會棄用。 ??
原文:Markdown Descriptions on PyPI
擴展閱讀:
- 一個好的 README 的些許建議
- Python:range 對象並不是迭代器
- Python 家族有多龐大
極光日報,極光開發者旗下媒體。
每天導讀三篇英文技術文章。
推薦閱讀:
※如何將自己的程序發布到 PyPI
※Install a package from Github that has other github dependencies