Как включить зависимость tarball или svn в setup.py?

У меня есть проект, для которого требуется python-xlib. К сожалению, python-xlib отсутствует в pypi, поэтому в моем файле требований я использую: svn+https://python-xlib.svn.sourceforge.net/svnroot/python-xlib/tags/xlib_0_15rc1/ в соответствии с этим советом: Как установить Python Xlib с помощью pip?

Это отлично работает с pip, но я хочу упаковать его с помощью setup.py. В install_requires допускаются только настоящие яйца, поэтому этот ответ: Как заставить setuptools установить пакет, которого нет в PyPI? предлагает использовать dependency_links, что я и сделал.

svn+https не работает в dependency_link, поэтому вместо этого я ссылаюсь на tar-архив, указанный на этой странице: http://python-xlib.svn.sourceforge.net/viewvc/python-xlib/tags/xlib_0_15rc1/ . Этот архив загружается так, как я ожидал, но когда пришло время его установить, я получаю:

Searching for pyxlib
Best match: pyxlib [unknown version]
Downloading http://python-xlib.svn.sourceforge.net/viewvc/python-xlib/tags/xlib_0_15rc1/?view=tar#egg=pyxlib
Processing xlib_0_15rc1
error: /tmp/easy_install-BDFVH3/xlib_0_15rc1/COPYING: Not a directory

Я не понимаю. Конечно, COPYING — это не каталог. Почему setuptools (или distutils?) не запускает setup.py, который находится в корневом каталоге python-xlib? Я подозреваю, что все это должно быть довольно легко. Как включить python-xlib в качестве зависимости для моего яйца?


person Gurgeh    schedule 18.12.2012    source источник
comment
Я думаю, что это Sourceforge возится с вещами. Случалось раньше. Вот связанные вопросы: stackoverflow.com/questions/11646110/ Я думаю, что ответ заключается в том, что вы не можете включать прямые ссылки на зависимости в яйцах. Вам необходимо использовать файл требований buildout или PIP.   -  person Mikko Ohtamaa    schedule 28.01.2013