У меня есть несколько пакетов Python, которые я бы хотел привести в порядок и опубликовать в PyPI. Эти пакеты импортируют несколько модулей Python, которые я написал для увеличения или упрощения определенных операций (например, чтение/запись из файлов CSV с заголовками путем обертывания функций csv
), предоставление удобных структур данных и т. Д. В настоящее время эти модули размещаются в верхней части -level, который содержит код для моих проектов, и я полагаюсь на их доступ, добавив этот каталог в мою переменную окружения PYTHONPATH
. (Меньше, чем аккуратный, я знаю.)Распространение пакетов Python, которые зависят от внутренних библиотек общего удобства
Создавая отдельный пакет для этих модулей и загружать их на PyPI, я мог бы отметить такой пакет в качестве зависимости для пакетов, которые я на самом деле хочу распространять. Однако эти удобные модули малы и имеют ограниченное использование и интерес, поэтому я не думаю, что они требуют распространения в виде отдельного пакета на PyPI. С другой стороны, я не решаюсь копировать эти удобные модули (т. Е. Использовать cp convenience_module.py projectX/.
) в каждый каталог проекта, так как это создает несколько копий одного и того же файла как в репозитории VCS с моим кодом Python, так и в разных исходных дистрибутивах. будет опубликован в PyPI. Есть ли элегантное решение этой проблемы?
Я переформулировал свой вопрос; «предоставить копии» подразумевает нечто иное, чем то, что я имею в виду, а именно «cp» файл для нескольких деревьев-источников ». Я определенно полагаюсь на изменение измененной переменной PYTHONPATH для обеспечения импорта модулей; они еще не находятся в своем пакете Python с `setup.py` для себя. Кроме того, я не планирую значительно расширить функциональность этих модулей; их содержание - это всего лишь набор функций, которые я нашел, которые я хотел использовать повторно в различных проектах. – gotgenes 2010-12-10 05:24:17