Установка пакета Python с помощью pip или easy_install из репозиториев

StackOverflow https://stackoverflow.com/questions/1033897

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

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

pip install -r requirements.txt

чтобы установить тот же набор пакетов в тех же версиях.

Другие советы

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

$ python setup.py develop

и он создаст правильные символические ссылки в dist-пакетах, так что импортируемые файлы .py в исходном дистрибутиве - это те, которые импортируются, а не устанавливаются отдельно (что будет делать «setup.py install») # 8212; создавать отдельные копии, которые не изменяются сразу, когда вы редактируете исходный код, чтобы попробовать внести изменения.

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

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

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

easy_install python-dateutil==1.4.0

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top