Как свернуть мои собственные pypi?

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

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

  • http://pypi.python.org/pypi/EggBasket/
  • http://plone.org/products/plonesoftwarecenter

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

Мои вопросы:

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

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

9 Solutions collect form web for “Как свернуть мои собственные pypi?”

Источник в 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] 

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

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

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

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

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

Еще один отсутствует в этом (старинном) списке:

djangopypi

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

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

Crate.Web

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

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

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

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

Склад

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

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

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

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

  • Какие части API PyPI фактически используются клиентами?
  • Как запустить пип-код другой версии python с помощью команды python?
  • Дерево зависимостей пакета Python
  • Установка PIP-пакетов в Virtualenv с использованием кеша загрузки
  • Почему «pip install hwrt --upgrade» обновляется до произвольной версии (иногда также понижается)?
  • Поиск PyPI по темам
  • Какие классы классификаторов Python я использую?
  • Поиск пакетов, поддерживающих Python 3.x vs. 2.7.x
  • Python - лучший язык программирования в мире.