Как вы размещаете свой собственный хранилище яиц?
Скажите, что вы работаете в команде, которая поддерживает множество внутренних библиотек python (яйца), и по какой-либо причине загрузка их в pypi не является вариантом. Как вы могли размещать библиотеки (яйца), чтобы easy_install все еще мог работать для членов вашей команды?
В принципе, было бы здорово, если бы это сработало....
(someproj)[email protected]:~$ easy_install myproprietary.lib-dev
user: uberdev
password:...
fetching......
Searching for myproprietary.lib-dev
Reading http://dev.mycompany.corp/myproprietary.lib-dev
Reading http://dev.mycompany.corp
Reading http://dev.mycompany.corp/dist
Best match: myproprietary.lib-dev
Downloading http://dev.mycompany.corp/dist/myproprietary.lib-dev
Я полагаю, там есть какие-то серверы, которые могут быть установлены, но я был бы признателен за некоторые рекомендации экспертов по этому вопросу.
Спасибо
Ответы
Ответ 1
Разверните все свои яйца в каталог всех разработчиков. может достигать (например, на веб-сервере).
Чтобы установить яйца из этого каталога, введите:
$ easy_install -H None -f http://server/vdir TheEggToInstall
или.
$ easy_install -H None -f /path/to/directory TheEggToInstall
-H None
означает, что вы не можете загружать яйца с любого хоста (кроме имени, указанного в -f
).
Каталог может быть доступен по http или может быть каталогом, который вы монтируете (NFS, общие папки Windows и т.д.). Возможно, работает FTP?
В документации easy_install содержится информация об этом.
Ответ 2
Если ваша команда распределена - и на говорящих терминах - тогда простой репозиторий источника subversion лучше, чем какой-либо другой сервер.
Просто создайте проекты и получите все багаж. Когда все изменится, скажите им обновить.
Если ваша команда находится в совместном размещении - и, говоря языком, то общий диск с "официальными" библиотеками также хорошо работает. Просто установите его и включите в свой PYTHONPATH
.
Если вам нужны локализованные копии, укажите официальный источник в подрывной деятельности (или общий диск) с хорошим setup.py
файлом. Они просто записывают CD в каталог и запускают python setup.py install
, и все остальное происходит для них. Это немного проще, чем easy_install
, потому что setup.py
уже является частью дистрибутива Python.
Яйца предназначены для людей, которые не говорят на словах.
Члены вашей команды, как правило, говорят на языке и не нуждаются в дополнительной сложности яиц. Основной setup.py
должен быть достаточным.
Ответ 3
Я использую ClueReleaseManager
ClueReleaseManager - это реализация сервера сервера PyPi как предоставленный http://pypi.python.org. Он использует SQLAlchemy (поверх sqlite по умолчанию) для хранения всех метаданных проекта и файловой системы для хранения файлов проекта.
Ответ 4
Прежде всего: если пакеты общих пакетов должны быть доступны публично, а не загрузка пакетов в PyPI, как правило, плохая идея, так как easy_installing пакет, который зависит от вашего пакета, означает, что ваш сервер-яйца должен быть запущен и запущен, а также PyPI. Для каждого задействованного сервера вы получаете больше одноточечных сбоев.
Но если это частные пакеты, которые даже не перечислены в PyPI, или пакеты полезны только как часть большой системы, например Plone, это другое дело. Затем вы хотите, чтобы easy___install и buildout и т.д. Искали яйца на вашем сервере. Делать это довольно сложно. Вы просто помещаете каталог яиц на веб-сервер и указываете на этот каталог с параметром -f на easy_install.
Вот пример такого репозитория: http://dist.plone.org/release/3.3.1/