Как свернуть мой собственный пипи? - PullRequest
42 голосов
/ 05 августа 2009

Я хотел бы запустить свой собственный внутренний сервер Pypi для распространения яиц в своей организации.

Я нашел несколько проектов, таких как:

Насколько я понимаю, pypi.python.org использует программное обеспечение под названием Cheese Shop.

Мои вопросы:

  1. Почему я не могу использовать сам cheeseshop? (Я не могу найти его, не уверен, что он существует)
  2. Как другие люди решают эту проблему? (В настоящее время мы используем blush svn для распределения яиц)

* редактировать: это кажется каноническим http://wiki.python.org/moin/PyPiImplementations. Тем не менее, мне интересны отзывы.

Ответы [ 10 ]

16 голосов
/ 13 октября 2012

Для облегченного решения используйте pypiserver .

14 голосов
/ 06 августа 2009

Исходный код Cheese Shop можно загрузить с https://bitbucket.org/pypa/pypi/src. На странице, на которую вы ссылаетесь, также есть пример использования Apache в качестве "тупого" хранилища пакетов Python:

# Mount pypi repositories into URI space
Alias /pypi   /var/pypi

# /pypi/dev: Redirect for unknown packages (fallback to pypi)
RewriteCond   /var/pypi/dev/$1 !-d
RewriteCond   /var/pypi/dev/$1 !-f
RewriteRule   ^/pypi/dev/([^/]+)/?$ http://pypi.python.org/pypi/$1/ [R,L]

RewriteCond   /var/pypi/dev/$1/$2 !-f
RewriteRule   ^/pypi/dev/([^/]+)/([^/]+)$ http://pypi.python.org/pypi/$1/$2 [R,L]

# /pypi/stable: Redirect for unknown packages (fallback to pypi)
RewriteCond   /var/pypi/stable/$1 !-d
RewriteCond   /var/pypi/stable/$1 !-f
RewriteRule   ^/pypi/stable/([^/]+)/?$ http://pypi.python.org/pypi/$1/ [R,L]

RewriteCond   /var/pypi/stable/$1/$2 !-f
RewriteRule   ^/pypi/stable/([^/]+)/([^/]+)$ http://pypi.python.org/pypi/$1/$2 [R,L]
6 голосов
/ 05 сентября 2017

Склад

Склад будет вашим лучшим выбором в 2017 году. Из README проекта:

Warehouse - это хранилище пакетов Python следующего поколения, предназначенное для замены устаревшая кодовая база, которая в настоящее время поддерживает PyPI

...

Вы можете запустить Warehouse локально, используя docker и docker-compose. Увидеть Начало работы в документации для инструкций по настройке.

Он поддерживается Службой упаковки Python (PyPA) , работающими в сотрудничестве с членами основной группы разработчиков Python, и существует живая версия, работающая с https://pypi.org/ который отражает все в устаревшем PyPI (https://pypi.python.org/).

4 голосов
/ 05 апреля 2018

devpi

Мы используем его в корпоративной среде и очень довольны. Он поддерживает репликацию, частные индексы и наследование индексов.

4 голосов
/ 08 октября 2013

Существует форк djangopypi с именем djangopypi2, вы можете получить его от https://github.com/popen2/djangopypi2/, Я установил его и работает для меня, этот вариант - то, что я выбрал из списка из 24 вариантов, которые я нашел в Поиск недавно, вы можете увидеть список здесь: http://uyeya.blogspot.com/2013/10/list-of-local-alternatives-of-pypi.html

3 голосов
/ 28 сентября 2012

Обновлено: crate.io завершил свою работу, и домен теперь стал чем-то совершенно другим.

Один проект, который не был упомянут, - https://crate.io/,, который кажется очень активным. Он претендует на звание «Индекса упаковки Python следующего поколения», но их репозитории красиво разделены на части, которые, кажется, приветствуют настройку и ремикс для ваших целей.

2 голосов
/ 24 сентября 2009

Если вам нужно более легкое решение для развертывания всего сервера Pypi, вы можете попробовать использовать индекс сервера, сгенерированный basketweaver .

0 голосов
/ 03 февраля 2014

Я столкнулся с той же проблемой, и ClueReleaseManager решил проблему размещения внутреннего сервера PyPI / собственного репозитория Python.

Это отвечает на второй вопрос, и я думаю, у вас уже есть ответ на первый вопрос.

0 голосов
/ 23 января 2013

И исходный код ящика доступен, хотя документации, как минимум, можно сказать, не существует:

Crate.Web

Это приложение Django, обеспечивающее индекс пакета Python. Использует пару других пакетов из https://github.com/crateio, чтобы вы могли развернуть свою собственную версию без django.

Я специально думаю о статическом, я всегда думал, что должен быть очень простой способ исследовать некоторые [предварительно сконфигурированные] репозитории и покупать сыр прямо из моих публичных и частных репозиториев github / bitbucket, просто простой (оружейный) процесс.

0 голосов
/ 23 января 2013

Еще один пропавший из этого (старого) списка:

djangopypi

На основе Django, что может быть небольшим перегибом, но я люблю django, и это делает его чрезвычайно простым, если вы не удовлетворяете.

...