Как свернуть мои собственные 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/ ).

  • Загрузка пакета в pypi с помощью шпагата: недопустимый URI
  • Установка определенных версий пакета с помощью pip
  • Python Wheels на linux (как? И почему?)
  • Pip не устанавливает последнюю доступную версию из pypi (argparse в этом случае)
  • Plone: ​​проблема с проблемой pypi для прокси-сервера - не удается установить яйца
  • Хостинг компания не поддерживает WebApp2 - что я могу использовать на своем месте?
  • Утилита для выпуска пакетов в PyPi?
  • Не удалось установить pip: ошибка отказа в разрешении
  • Установщик Windows Python со всеми зависимостями?
  • Не удалось загрузить пакеты в PyPI: 410 Gone
  • Почему pip устанавливает matplotlib версии 0.91.1, когда PyPi показывает версию 1.0.0?
  • Python - лучший язык программирования в мире.