سؤال

أرغب في تشغيل خادم pypi الداخلي الخاص بي لتوزيع البيض داخل مؤسستي.

لقد وجدت بعض المشاريع، مثل:

كما أفهم، يستخدم pypi.python.org برنامجًا يسمى Cheese Shop.

أسئلتي:

  1. لماذا لا يمكنني استخدام متجر الجبن نفسه؟(لا أستطيع العثور عليه، لست متأكدا من وجوده)
  2. كيف يحل الآخرون هذه المشكلة؟(حاليا نستخدم احمر خدود svn لتوزيع البيض)

*يحرر:يبدو هذا قانونيًا http://wiki.python.org/moin/PyPiImplementations.ومع ذلك، أنا مهتم بالتعليقات.

هل كانت مفيدة؟

المحلول

يمكن تنزيل مصدر 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]

نصائح أخرى

للحصول على محلول خفيف الوزن، استخدميه com.pypiserver.

مستودع

مستودع سيكون أفضل رهان لك في عام 2017.من الملف التمهيدي للمشروع:

Warehouse is a next generation Python Package Repository designed to replace the legacy code base that currently powers بايبي

...

يمكنك تشغيل المستودع محليًا باستخدام docker و docker-compose.يرى ابدءفي الوثائق للحصول على تعليمات حول كيفية إعداده.

يتم الحفاظ عليه من قبل هيئة التعبئة والتغليف بايثون (PyPA) الذين يعملون بالتعاون مع أعضاء فريق التطوير الأساسي لبايثون، وهناك النسخة الحية تعمل على https://pypi.org/ الذي يعكس كل شيء في PyPI القديم (https://pypi.python.org/).

هناك شوكة من djangopypi تسمى djangopypi2 يمكنك الحصول عليها منها https://github.com/popen2/djangopypi2/, ، لقد قمت بتثبيته ويعمل معي، هذا الخيار هو ما اخترته من قائمة تضم حوالي 24 بديلاً وجدتها في بحث مؤخرًا، يمكنك رؤية القائمة هنا: http://uyeya.blogspot.com/2013/10/list-of-local-alternatives-of-pypi.html

devpi

نحن نستخدمها في بيئة الشركات ونحن راضون جدًا.وهو يدعم النسخ المتماثل والفهارس الخاصة وميراث الفهرس.

محدث:تم إغلاق crate.io وأصبح النطاق الآن شيئًا آخر تمامًا.

أحد المشاريع التي لم يتم ذكرها هو https://crate.io/, والتي تبدو نشطة للغاية.يدعي أنه "مؤشر التعبئة والتغليف للجيل القادم من Python"، لكن مستودعاته مقسمة بشكل جيد إلى أجزاء يبدو أنها ترحب بالتخصيص وإعادة المزج بما يتوافق مع أغراضك.

إذا كنت تريد حلاً أخف ثم نشر خادم pypi بالكامل، فيمكنك تجربة استخدام فهرس الخادم الذي تم إنشاؤه بواسطة com.bastweaver.

آخر مفقود من هذه القائمة (القديمة):

com.djangopypi

يعتمد على Django، والذي قد يكون مبالغة طفيفة، لكني أحب Django ويجعل من السهل للغاية تعديله حسب احتياجاتك إذا لم يكن مرضيًا.

والكود المصدري للصندوق متاح، على الرغم من أن التوثيق، على الأقل ما يمكن قوله، غير موجود:

قفص.ويب

إنه تطبيق Django يوفر فهرس حزمة Python.يستخدم حزمتين أخريين من https://github.com/crateio لذلك قد تتمكن من طرح الإصدار الخاص بك بدون Django.

أنا أفكر على وجه التحديد في مستودع ثابت، وأعتقد دائمًا أنه يجب أن تكون هناك طريقة سهلة للغاية للاستكشاف المباشر لبعض المستودعات [المُهيأة مسبقًا] وتسوق الجبن مباشرة من مستودعات github/bitbucket العامة والخاصة، مع مجرد ( gunicorn) عملية قيد التشغيل.

واجهت نفس المشكلة، و ClueReleaseManager حل مشكلة استضافة خادم PyPI داخلي/مستودع Python مخصص لي.

هذا يجيب على السؤال الثاني، وأعتقد أن لديك بالفعل إجابة السؤال الأول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top