Проблемы при установке пакета из PyPI: корневые файлы не установлены - PullRequest
4 голосов
/ 03 июня 2010

После установки пакета BitTorrent-bencode либо через easy_install BitTorrent-bencode или pip install BitTorrent-bencode, либо скачав tarball и установив его через easy_install $tarball, я обнаружил, что /usr/local/lib/python2.6/dist-packages/BitTorrent_bencode-5.0.8-py2.6.egg/ содержит EGG-INFO/ и test/ каталогов. Хотя оба эти подкаталога содержат файлы, в самом каталоге BitTorr* нет файлов. В tar-архиве содержится bencode.py, который является фактическим источником для этого пакета, но он не установлен ни одним из этих утилит.

Я довольно новичок во всем этом, поэтому я не уверен, что это проблема с пакетом или с тем, что я делаю. Пакет был упакован некоторое время назад (2007), поэтому, возможно, он использует устаревший аспект конфигурации, для которого мне нужно предоставить флаг командной строки.

Мне больше интересно узнать, что не так с пакетом или моими процедурами, чем установить этот конкретный пакет; есть еще один пакет под названием hunnyb , который, кажется, достаточно хорошо справляется с декодированием закодированных данных. В основном я хотел бы знать, как бороться с такими проблемами в других пакетах. Я также хотел бы сообщить сопровождающему пакета о необходимости обновления пакета.

редактировать

@ Андрей Попп объясняет, что проблема, скорее всего, в файле setup.py. Полагаю, что единственный способ получить ответ на свой вопрос - это R-ing TFM . Однако, поскольку у меня, скорее всего, еще не будет времени сделать это тщательно, я разместил файл setup.py здесь .

Быстрый просмотр руководства easy_install показывает, что функция find_modules (), которую использует этот модуль setup.py, ищет файлы с именем __init__.py в пакете. Файл исходного кода, о котором идет речь, называется bencode.py, поэтому, возможно, в этом и заключается проблема: он должен называться __init__.py?

редактировать 2

Теперь, изучив упаковку Python, я понял, что проблема в том, что этот модуль использует setuptools.find_packages, и имеет свой источник в корне своей структуры каталогов, но ничего не передал в package_dir. Казалось бы, это довольно тривиально исправить. Тем не менее, автор не доступен своей контактной информацией PyPI. На странице PyPI модуля также указан «Владелец индекса пакетов». Я не уверен, что это должно означать, но мне удалось связаться с этим человеком, который, я думаю, возможно, не в состоянии поддерживать модуль. В любом случае, он все еще в том же состоянии, в котором я разместил этот вопрос еще в июне.

Учитывая, что модуль кажется более или менее заброшенным, и что в hunnyb есть подходящая замена для него, я согласился, что ответ @ andreypopp примерно такой же, как и я собираюсь получить.

1 Ответ

1 голос
/ 03 июня 2010

Кажется, этот пакет setup.py не работает - он не определяет правильный пакет для распространения. Я думаю, вам нужно проверить setup.py в исходной версии, и если это правда - сообщить об ошибке автору этого пакета.

...