Es posible que una vez subido un módulo Python a Python Package Index notes que la descripción del módulo (README) que aparece en la página PyPi no esté bien formateada.
Si formateaste la descripción del módulo con Markdown, caso bastante probable si tienes las fuentes en Github, tienes que saber que PyPi únicamente acepta reStructuredTxt como formato de descripción.
Las solución drástica es cambiar la descripción al formato aceptado por PyPi. O bien puedes traducir «on fly» de un formato a otro en setup.py.
Para hacer esto, primero instala pandoc. Se trata de una utilidad que es capaz de convertir ficheros de un lenguaje de marcado a otro.
$ sudo apt-get install pandoc
Después instala el módulo Python pyandoc:
$ sudo pip install pyandoc
Por último modifica setup.py:
long_description = '' try: import subprocess import pandoc process = subprocess.Popen( ['which pandoc'], shell=True, stdout=subprocess.PIPE, universal_newlines=True ) pandoc_path = process.communicate()[0] pandoc_path = pandoc_path.strip('\n') pandoc.core.PANDOC_PATH = pandoc_path doc = pandoc.Document() doc.markdown = open('README.md').read() long_description = doc.rst except: pass setup( long_description=long_description # y tus parámetros de configuración.... )
Las líneas de la 6 a la 16 averigua la ruta donde se encuentra pandoc instalado mediante una llamada al sistema del comando which. Un try/catch es necesario para garantizar la instalación del módulo mediante python setup.py install en un sistema sin pandoc instalado.