Подтвердить что ты не робот

Пакет Python устанавливается с помощью pip или easy_install из repos

Простейший способ обработки установки пакета python до сих пор заключался в том, чтобы проверить источник из исходной системы управления, а затем добавить символическую ссылку в папку python dist-packages.

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

Есть ли способ использовать один из установщиков пакетов (easy_install или pip или другой), можно добиться того же.

easy_install получает tar.gz и устанавливает их с помощью установки setup.py, которая устанавливается в папке dist-packages в python2.6. Есть ли способ сконфигурировать его, или pip использовать вместо него систему управления версиями (SVN/ GIT/Hg/Bzr).

4b9b3361

Ответ 1

Используя pip, это довольно просто. Например:

pip install -e hg+http://bitbucket.org/andrewgodwin/south/#egg=South

Пип автоматически клонирует исходное репо и запускает "setup.py develop" для установки его в вашу среду (которая, надеюсь, является virtualenv). Git, Subversion, Bazaar и Mercurial поддерживаются.

Затем вы также можете запустить "pip freeze", и он выведет список ваших установленных в настоящий момент пакетов с их точными версиями (в том числе для разработки-установки, точной ревизии от VCS). Вы можете поместить это прямо в файл требований, а затем запустить

pip install -r requirements.txt

для установки того же набора пакетов в одних и тех же версиях.

Ответ 2

Если вы загружаете или проверяете исходный дистрибутив пакета - тот, у которого есть его "setup.py" внутри него, - тогда, если пакет основан на "setuptools" (который также включает easy_install), вы можете перейдите в этот каталог и скажите:

$ python setup.py develop

и он создаст правильные символические ссылки в dist-пакетах, чтобы файлы .py в исходном дистрибутиве были импортированы, а не копии, установленные отдельно (что и будет делать "setup.py install" - create отдельные копии, которые не изменяются сразу же при редактировании исходного кода, чтобы попробовать изменения).

Как указывает другой ответ, вы должны попробовать прочитать документацию "setuptools", чтобы узнать больше. "setup.py develop" - действительно полезная функция! Попробуйте использовать его в сочетании с virtualenv, и вы можете "setup.py develop" безболезненно и не испортить свой общесистемный Python с пакетами, которые вы только разрабатываете временно:

http://pypi.python.org/pypi/virtualenv

Ответ 3

easy_install поддерживает загрузку определенных версий. Например:

easy_install python-dateutil==1.4.0

Будет установлен v1.4, тогда как последняя версия 1.4.1 будет выбрана, если не указана версия.

Существует также поддержка svn checkouts, но использование этого не дает вам больших преимуществ от вашей версии руководства. Дополнительную информацию см. В руководстве.

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

Ответ 4

easy_install принимает URL-адрес для исходного дерева. Работает, по крайней мере, когда источники находятся в Subversion.