setuptools загружает пакеты python

Я следую руководству по setuptools и, решив несколько проблем, создал окончательный файл readme. проблема: я создал файл README.rst в проекте (размещен на 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'),
    ...
)

Мне удалось успешно загрузить мой зарегистрированный пакет python, и я пытаюсь установить его локально с помощью 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 (она автоматически отображается на домашней странице репо), а файлы документации верхнего уровня не принадлежат никаким модулям python (не включены в пакеты pip). Во всяком случае, я не могу придумать разумного решения, чтобы преодолеть это. И это конфликт ... Любые идеи приветствуются.


person ducin    schedule 24.11.2013    source источник


Ответы (1)


Я нашел соответствующую информацию в руководстве по распространению пакетов Python В соответствии с ним мне просто нужно было добавить MANIFEST.in файл со следующим содержимым:

include *.rst

и это все.

person ducin    schedule 24.11.2013
comment
Спасибо, что поделился. Хотя я вижу, что многие репозитории не имеют манифеста и все еще загружаются для чтения. Есть новые предложения? - person Jimmy Kane; 29.07.2014