setuptools上传python包

时间:2013-11-24 17:31:12

标签: python package pip setuptools pypi

我正在关注setuptools tutorial,在解决了几个问题之后,我想出了最终的自述文件问题 - 我在项目中创建了一个README.rst文件(hosted on github)并且我使用它在setup.py文件中,就像教程说的那样:

import os
from setuptools import setup

def read(fname):
    return open(os.path.join(os.path.dirname(os.path.abspath(__file__)), fname)).read()

setup(
    ...
    long_description = read('README.rst'),
    ...
)

我设法成功上传了我的registered python package,并尝试使用pip在本地安装 - 这就是问题发生的地方:

$ sudo pip install nac
Downloading/unpacking nac
  Downloading nac-0.1.0.tar.gz
  Running setup.py egg_info for package nac
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/tomasz/build/nac/setup.py", line 22, in <module>
        long_description = read('README.rst'),
      File "/home/tomasz/build/nac/setup.py", line 5, in read
        return open(os.path.join(os.path.dirname(os.path.abspath(__file__)), fname)).read()
    IOError: [Errno 2] No such file or directory: '/home/tomasz/build/nac/README.rst'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/tomasz/build/nac/setup.py", line 22, in <module>

    long_description = read('README.rst'),

  File "/home/tomasz/build/nac/setup.py", line 5, in read

    return open(os.path.join(os.path.dirname(os.path.abspath(__file__)), fname)).read()

IOError: [Errno 2] No such file or directory: '/home/tomasz/build/nac/README.rst'

我知道这个错误的原因是什么:安装程序已经下载了包并尝试运行setup.py,但它找不到.rst文件,它最终停止。

我想拥有github的顶级文档(它会在repo主页上自动显示),而顶级文档文件不属于任何python模块(不包含在pip包中)。无论如何,我无法想出一个聪明的解决方案来克服这个问题。这就是冲突......任何想法都是受欢迎的。

1 个答案:

答案 0 :(得分:4)

我在Python Package Distrubition tutorial找到了相应的信息据我所知,我只需要添加MANIFEST.in个文件,其中包含以下内容:

include *.rst

那就是全部。