для деталей о том, как создать дистрибутив.
ема, с которой я сталкиваюсь, небольшая, но раздражающая:
Коллега работает над одним проектом в системе контроля версий X (VCS-X). Другой коллега работает в другой системе контроля версий Y и использует пакеты от X.
К сожалению, коллега в VCS-X использует локальный импорт и изменяет свой путь, используяsys.path.append('trunk/my_location')
в их коде.
Я считаю, что это неправильная практика, поскольку коллеги в X заставляют коллегу Y редактировать код, прежде чем он сможет его запустить, просто потому, что их репо назван по-другому.
Как управлять этими зависимостями?
Пример:Разработчик X:
>>> sys.path.append('my_repo/my_location')
>>> from my_location import toolbox
>>> nosetests -v
toolbox.test1 ... ok
toolbox.test2 ... ok
...
Разработчик Y:
Шаг 1:
>>> nosetests -v
toolbox.test1 ... fail
...
Шаг 2:
>>> sys.path.append('my_repo/my_location')
>>> from my_location import toolbox
Import error: No such package.
Шаг 3:
>>> sys.path.append('my_colleagues_repo/my_location')
>>> from my_location import toolbox
>>> nosetests -v
toolbox.test1 ... ok
toolbox.test2 ... ok
"... вздох следует; код работает ..."