LINUX.ORG.RU

[py2][py3][пакеты] Нужен совет

 


0

2

Моя поделка, наконец, вышла на финишную прямую, и встал вопрос о дистрибуции.

В репозитории имеются две ветки: для второго питона и для третьего. Хотелось бы сделать мегапакет, который сможет устанавливать нужный код, в зависимости от версии интерпретатора. То есть:

pip-2.7 install package_name

и

pip-3.2 install package_name

должны корректно отрабатывать. Также необходимо дать возможность ставить свежак из гита — клонируется репа, активируется нужная ветка, python setup.py develop и пользователь счастлив.

Так вот, как я хочу этого добиться:

1. При билде, загоняю diff master..py3 в патч, который попадет в пакет.

2. При установке из под третьего питона, этот патч накладывается.

Вопрос1: можно ли надеяться, что у пользователя будет установлена соответствующая утилита?

Вопрос2: кто-нибудь встречал реализацию patch на py3?

Вопрос3: может быть есть другой способ создать пакет, удовлетворяющий требованиям?

Спасибо за внимание.

★★★
Ответ на: комментарий от post-factum

Библиотека, предоставляющая api для организации питонячьего IDE. Дополнение, слежение за изменениями, статический анализ и т.д.

Сейчас интегрирована в snaked, надеюсь, что найдутся желающие привинтить ее к виму и емаксу.

baverman ★★★
() автор топика

Зачем накладывать патчи - для крутизны? Если у тебя есть гарантированно накладывающийся патч, у тебя фактически есть и 2 варианта исходников.

Какой вообще смысл делать мегапакет?

кто-нибудь встречал реализацию patch на py3?

Только на python 2.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Зачем накладывать патчи - для крутизны?

Из за лени.

у тебя фактически есть и 2 варианта исходников.

Я думал над этим, в принципе, просто запихать их в пакет тоже решение.

Какой вообще смысл делать мегапакет?

Чтобы не было двух имен. Всё-таки package и, допустим, package3, вносят изрядную долю путаницы.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

> в принципе, просто запихать их в пакет тоже решение.

Вот и не мудри.

Какой вообще смысл делать мегапакет?

Чтобы не было двух имен. Всё-таки package и, допустим, package3, вносят изрядную долю путаницы.

Два пакета с одним именем и разными зависимостями вносят гораздо больше путаницы.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Я не думаю, ТС думает. :)
Ждем-с с нетерпением-с. Если это на базе rope это будет сделано, то вообще красота.

zJes ★★
()
Ответ на: комментарий от zJes

Появился неожиданный пользователь библиотеки, закрывал найденные баги.

Терпение. Осталось доделать индекс вызовов.

baverman ★★★
() автор топика
Ответ на: комментарий от zJes

Если это на базе rope это будет сделано, то вообще красота.

Нет, rope слишком тормознутый, и ничего с эти не поделать. Он пытается строить слишком глубокое дерево объектов, большая часть из которых все равно не будет использована. Поэтому пришлось пожертвовать его рефакторингами и пилить с нуля.

baverman ★★★
() автор топика
Ответ на: комментарий от zJes

Так-с. Наконец, завершил огрызок документации, по которой можно начать прикручивание.

Репа: https://github.com/baverman/supplement/ там же и ветка для py3, правда она немного отстает, просто мержить большими пачками гораздо проще, пока.

Документация: http://packages.python.org/supplement/

Для решения вопросов есть мыло (bobrov на vl.ru) и джаббер в профиле.

Для англоязычной аудитории пока анонса не делал. Есть список задач которые неожиданно вскрылись собирателем информации по вызовам. Надеюсь на фидбэк.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

Супер, сегодня попробую поиграться. :)

zJes ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.