Рекомендации по взлому в стороннем модуле python

#python

#python

Вопрос:

Я часто ловлю себя на том, что хочу использовать сторонний модуль python в своем собственном проекте, но я знаю, что мне также нужно будет внести изменения в сторонний модуль, который я хочу продвинуть вверх по течению. Какова наилучшая практика компоновки / установки файлов для достижения этой цели?

Большинство модулей python выложены с корневым каталогом, содержащим «setup.py » для компиляции / установки модуля. Проблема в том, что каждый раз, когда я вношу изменения в исходный код модуля, мне нужно повторно запускать полный этап установки, чтобы использовать эти изменения в моем проекте. Для больших модулей, таких как scipy, это может занять некоторое время.

В качестве альтернативы я могу взломать установленную версию модуля python, но затем мне придется вручную перенести эти изменения обратно в исходную версию модуля, чтобы генерировать исправления и т. Д.

Я знаю о virtualenv и PYTHONPATH, но это способы установки модуля в другое место.

До сих пор я вручную создавал символические ссылки, но это грязно.

Комментарии:

1. Извините. Спасибо, что указали на это. Я так и сделал.

Ответ №1:

Если сторонний проект использует setuptools или distribute, вы можете сделать python setup.py develop вместо install . Это создаст для вас соответствующие символьные ссылки в каталоге пакетов сайта.

Комментарии:

1. Именно то, что мне было нужно! Спасибо. Я не могу поверить, что пропустил это. Я знал, что что-то подобное должно существовать.