2017-01-13 42 views
0

我想包含一个README.md文件和我的PyPI模块包,这样它可以被我的setup.py中的函数读取。然而,我不明白如何让setup.py和相关的基础设施实际包含README.md文件。如何使用setup.py将README.md文件包含在PyPI模块包中?

我已经包含了一个MANIFEST.in文件在我的包本身列出README.md和我已经设置了setuptools.setup参数include_package_dataTrue但是这并没有奏效。

manifest.in

junkmodule.py 
junkmodule_script.py 
LICENSE 
MANIFEST.in 
README.md 
setup.py 

setup.py

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

import os 
import pypandoc 
import setuptools 

def main(): 

    setuptools.setup(
     name     = "junkmodule", 
     version    = "2017.01.13.1416", 
     description   = "junk testing module", 
     long_description  = pypandoc.convert("README.md", "rst"), 
     url     = "https://github.com/user/junkmodule", 
     author    = "LRH", 
     author_email   = "[email protected]", 
     license    = "GPLv3", 
     include_package_data = True, 
     py_modules   = [ 
           "junkmodule" 
           ], 
     install_requires  = [ 
           "numpy" 
           ], 
     scripts    = [ 
           "junkmodule_script.py" 
           ], 
     entry_points   = """ 
      [console_scripts] 
      junkmodule = junkmodule:junkmodule 
     """ 
    ) 

if __name__ == "__main__": 
    main() 

我用来注册和上传模块的PyPI的命令如下:

python setup.py register -r https://pypi.python.org/pypi 
python setup.py sdist upload -r https://pypi.python.org/pypi 

回答

0

我用这在我的模块中,请尝试:

import pypandoc 


try: 
    description=pypandoc.convert('README.md', 'rst') 
except (IOError, ImportError): 
    description=open('README.md').read()