2010-05-26 4 views
2

Для моего проекта я бы использовал библиотеку argparse. Мой вопрос: как мне его распространять с моим проектом. Я спрашиваю об этом из-за технических особенностей и законности.Распространение библиотеки Python (один файл)

ли я просто:

  1. Поместите argparse.py файл вместе с моего проекта. То есть, в tar-файле для моего проекта.
  2. Создайте пакет для него для моего дистрибутива?
  3. Сообщите пользователю, чтобы установить его самостоятельно?
+0

сначала проверьте лицензию, нет? – jldupont

+0

Apache License 2.0 Я понятия не имею, что входит в эту лицензию. – user225312

ответ

1

Какова ваша целевая версия Python? Похоже, что argparse включен в версию 2.7.

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

+0

На самом деле argparse предоставляет множество функций, которые облегчили бы мою работу. Будет ли действительно важно, чтобы конечный пользователь установил простую библиотеку? Будучи новичком в развитии, я не знаю чувства. Но, по крайней мере, я бы не возражал. :) Я буду ориентироваться на Python 2.6. – user225312

+0

@ Алфред: Для чего это важно, мне это обычно имеет значение. Разница между * zero * dependencies и * one * зависимостью довольно много. Для моего собственного кода на Python я всегда стараюсь минимизировать зависимости везде, где это возможно (одно исключение, которое приходит в голову, - ['dnspython'] (http://www.dnspython.org/) для [' pydkim'] (http: // hewgill.com/pydkim/)). –

+0

Кроме того, я думаю, что это добавит несколько к производительности или нет? Я имею в виду разложить его? – user225312

1

Было бы лучше, если бы пользователь установил его, чтобы в системе присутствовала только одна копия и чтобы она могла быть обновлена, если есть какие-либо проблемы, но включение ее в ваш проект является жизнеспособным вариантом, если вы соблюдаете все требования, указанные в лицензии.

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

1

Вы можете пойти с предложением Игнасио.

Но ... Для чего стоит другая библиотека для синтаксического анализа аргументов, встроенная в Python, которая достаточно мощная. Вы пробовали optparse? Он принадлежит к базовому распределению Python и был там некоторое время ...

Удачи!

+0

+1 для 'optparse'. – Santa

 Смежные вопросы

  • Нет связанных вопросов^_^