python tag Comment faire rouler mon propre pypi?




python mp3 tag (8)

Un autre élément manquant dans cette liste (ancienne):

djangopypi

Basé sur Django, ce qui est peut-être un peu excessif, mais j'adore le django et il est extrêmement simple de le modifier selon vos besoins s'il n'est pas satisfaisant.

J'aimerais utiliser mon propre serveur pypi interne, pour la distribution des œufs au sein de mon organisation.

J'ai trouvé quelques projets, tels que:

Si je comprends bien, pypi.python.org utilise un logiciel appelé Cheese Shop.

Mes questions:

  1. Pourquoi ne puis-je pas utiliser Cheeseshop lui-même? (Je ne le trouve pas, pas sûr que ça existe)
  2. Comment les autres personnes résolvent-elles ce problème? (Actuellement, nous utilisons blush svn pour distribuer les œufs)

* edit: Cela semble canonique http://wiki.python.org/moin/PyPiImplementations . Néanmoins, je suis intéressé par les commentaires.


J'ai rencontré le même problème et ClueReleaseManager résolu le problème de l'hébergement d'un serveur interne PyPI / d'un référentiel Python personnalisé.

Cela répond à la deuxième question et je suppose que vous avez déjà la réponse à la première question.


devpi

Nous l'utilisons dans un environnement d'entreprise et nous en sommes assez satisfaits. Il prend en charge la réplication, les index privés et l'héritage d'index.


Mise à jour: crate.io s'est arrêté et le domaine est maintenant complètement différent.

Un projet qui n'a pas été mentionné est https://crate.io/ , qui semble très actif. Il prétend être un "index d'empaquetage Python de nouvelle génération", mais leurs référentiels sont bien divisés en éléments qui semblent accueillir la personnalisation et le remixage à vos fins.


Warehouse

Warehouse serait votre meilleur choix en 2017. D'après le fichier README du projet:

Warehouse est un référentiel de packages Python de nouvelle génération, conçu pour remplacer la base de code existante qui alimente PyPI

...

Vous pouvez exécuter Warehouse localement en utilisant docker et docker-compose . Voir Mise en route dans la documentation pour des instructions sur sa configuration.

Il est géré par l’ autorité de packaging de Python (PyPA), qui travaille en coopération avec les membres de l’équipe de développement principale de Python. Une version en direct est en cours d’exécution à l’ https://pypi.org/ qui reflète tout le contenu de l’ancien PyPI ( PyPI ).



La source de Cheese Shop peut être téléchargée à l’ https://bitbucket.org/pypa/pypi/src . Il existe également un exemple, à partir de la page que vous avez liée, d'utilisation d'Apache en tant que référentiel de paquet Python "stupide":

# 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]

Si vous souhaitez une solution plus légère que le déploiement d’un serveur pypi complet, vous pouvez utiliser un index de serveur généré par basketweaver .





pypi