2008-09-25 3 views
9

Я пишу тонны скриптов python, и я нахожу, что повторно использую код, который я написал для других проектов. Мое решение состояло в том, чтобы убедиться, что код разделен на логические модули/пакеты (этот задан). Затем я делаю их setuptools-aware и публикую их на PyPI. Это позволяет моим другим скриптам всегда иметь самый современный код, я получаю теплое нечеткое чувство, потому что я не повторяюсь, и мое развитие, в общем, делается менее сложным. Я также чувствую себя хорошо, что МОЖЕТ быть кто-то там, который находит мой код удобным для чего-то, над чем они работают, но это в основном по эгоистичным причинам :)Как вы управляете своими настраиваемыми модулями?

Для всех pythonistas, как вы справляетесь с этим? Используете ли вы PyPI или setuptools (easy_install)? или что-то другое?

+0

@Jeremy: это вопрос и ответ в вопросе. Вы должны перефразировать вопрос в простых терминах, а затем вы должны поместить ВАШ метод для этого в качестве первого ответа на вопрос. Лучший способ управления модулями будет проголосовать до вершины ... вы никогда не знаете, это может быть ваше. – 2008-09-25 23:17:55

+0

Я действительно думал об этом, как только я разместил это. Я обязательно сделаю это в следующий раз. – 2008-09-26 01:59:43

ответ

1

Я делал то же самое. Извлеките общую функциональность, довольно код с дополнительной документацией и модульными тестами/доктринами, создайте easy_install setup.py, а затем отпустите на PyPi. Недавно я создал один Google Code site, где я управляю источником и поддерживаю вики.

1

О каких модулях мы говорим здесь? Если вы планируете распространять свои проекты для других разработчиков python, setuptools отлично. Но обычно это не очень хороший способ распространять приложения для конечных пользователей. В последнем случае лучше всего настроить упаковку на платформы, для которых вы ее распространяете. Конечно, это боль, но это облегчает жизнь для конечных пользователей.

Например, в моей системе Debian я обычно не использую easy_install, потому что немного сложнее заставить яйца хорошо работать с менеджером пакетов. В OS X и Windows вы, вероятно, захотите упаковать все, используя py2app и py2exe соответственно. Это улучшает жизнь для конечного пользователя. В конце концов, они не должны знать или заботиться о том, на каком языке написаны ваши сценарии. Им просто нужно их установить.

0

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

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

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