Openlibrary: قم بتشغيل كل من Python 2 و Python 3

تم إنشاؤها على ١٩ مارس ٢٠١٨  ·  20تعليقات  ·  مصدر: internetarchive/openlibrary

محظور بواسطة: internetarchive / infogami # 56، internetarchive / infogami # 50

كما تمت مناقشته في # 846 ، هناك الكثير من التعليمات البرمجية في قاعدة كود أرشيف الإنترنت المكتوبة حاليًا في Python 2 وتم إهمالها في Python 3.

يوضح الرابط التالي الاختلافات الرئيسية من Python 2 إلى Python 3.

تحرير: تم التحديث وفقًا لاقتراحاتcclauss

  • [x] احصل على قاعدة الشفرة لتكون متوافقة مع بناء جملة Python 3 (انظر __Make lint__ عند تشغيل Py3 للتعرف على حالتنا)

    • [x] # 1466 إصلاح كيفية رفع الاستثناءات في Python 3

    • [x] # 1509 أضف __سكس__ لمتطلباتنا (أجدها أقل دقة من __المستقبل__ المذكورة أدناه).

    • [x] # 1517 قد لا تكون معلمات الوظيفة عبارة عن مجموعات صريحة في Python 3

    • [x] # 1603 أعد إصلاحات __lambda__ التي تم إرجاعها من رقم 1466

    • [x] # 1468 هروب حرف \ N غير صحيح في الكتالوج / مارك / load.py

    • [x] # 1501 __print () __ هي دالة في Python 3 في المكونات الإضافية / upstream / acs4.py

    • [x] أسماء غير محددة __python3 -m flake8. --count --exclude = scripts / 20 ، vendor / --select = F821__

    • [x] PR لـ __السلسلة الأساسية__ # 1563

    • [x] PR for __cmp () __ # 1643

    • [x] PR لـ __execfile () __ # 1525

    • [x] PR for __file () __ # 1564

    • [x] PR لـ __raw_input () __ # 1526

    • [x] بيان العلاقات العامة لـ __unicode__ (هذا أمر صعب ومن الأفضل حفظه حتى النهاية.)



      • [x] PR لـ __xrange () __ # 1524



  • [x] قم بتحديث تبعياتنا للتأكد من أن لدينا دعم Python 3 (انظر # 1454 للحصول على بعض التلميحات.)
  • [x] إصلاح البائع في أشياء مثل __infogami__

    • [x] __خيارات إضافية__ ، __ إنشاء الزناد__ على https://travis-ci.org/internetarchive/acs4_py

    • [x] internetarchive / acs4_py # 7

    • [x] internetarchive / infogami # 40

    • [x] internetarchive / infogami # 42

    • [x] internetarchive / infogami # 43

    • [x] internetarchive / infogami # 56 الواردات الآمنة Cherrypick من # 50

    • [x] internetarchive / infogami # 50 المزيد من تحديثات Python 3

    • [x] اجتاز Internetarchive / infogami اختبارات Travis CI في Python 3

  • [x] اجتياز اختبارات Travis وإيقاف وضع __allow_failures__ في Python 3
  • [] اختبار ، اختبار ، اختبار
@cclauss 2 Work In Progress Epic

التعليق الأكثر فائدة

نشكرك على إنشاء مشكلة منفصلة لتتبع هذا. المهمة هي بالتأكيد ذات أولوية منخفضة ، ولكنها ليست مشروعًا سهلاً ولا جيدًا للمبتدئين ، لذلك قمت بإزالة هاتين التسميتين.

أشياء كهذه حساسة للوقت ، لذا فإن مشاركة مدونة عشوائية عمرها 3-4 سنوات ليست مصدرًا جيدًا للمعلومات. لأغراض التخطيط ، الأشياء المهمة هي أشياء مثل عندما تدعم جميع المكتبات المطلوبة Python 3 ، عندما تتخلى عن دعم Python 2 ، وكيف تبدو أحدث أدوات الترحيل ، وما إلى ذلك.

ولكن نظرًا لأنها ذات أولوية منخفضة ، فلدينا أشياء أكثر أهمية يجب التفكير فيها على المدى القريب.

ال 20 كومينتر

مع المخاطرة بتوضيح ما هو واضح ، يجب أن تذهب الأولوية على الأرجح إلى تحديد ميزات Python 2 التي يتم استخدام كل من أ) في Python 3 و b) في OL.

نشكرك على إنشاء مشكلة منفصلة لتتبع هذا. المهمة هي بالتأكيد ذات أولوية منخفضة ، ولكنها ليست مشروعًا سهلاً ولا جيدًا للمبتدئين ، لذلك قمت بإزالة هاتين التسميتين.

أشياء كهذه حساسة للوقت ، لذا فإن مشاركة مدونة عشوائية عمرها 3-4 سنوات ليست مصدرًا جيدًا للمعلومات. لأغراض التخطيط ، الأشياء المهمة هي أشياء مثل عندما تدعم جميع المكتبات المطلوبة Python 3 ، عندما تتخلى عن دعم Python 2 ، وكيف تبدو أحدث أدوات الترحيل ، وما إلى ذلك.

ولكن نظرًا لأنها ذات أولوية منخفضة ، فلدينا أشياء أكثر أهمية يجب التفكير فيها على المدى القريب.

اتفاق كامل مع tfmorris على جميع الجبهات.
نشكرك على تنظيم مشكلة لهذا الأمر ، حيث سنحتاج في النهاية إلى معرفة المسار للحفاظ على infogami .

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

LeadSongDog مع من لا تتفق معه؟ ما الذي تود تغييره في ما يتعلق بالأولويات؟

tfmorris لا أختلف معك بالضبط ، لكني أقول إن الأولويات أحادية البعد تؤدي إلى إدارة الأزمات. بمجرد تصنيف شيء صعب على أنه أولوية منخفضة ، فإنه يذهب دون مراقبة أو يُغلق حتى يتسبب في الكسر ويصبح عاجلاً. من الأفضل عدم الأولوية على الإطلاق؟

هناك وظيفة Travis CI لتتبع تقدمنا ​​في هذا الآن ، وذلك بفضل PR # 1273

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

ملاحظة: تم نقل هذه القائمة إلى الجزء العلوي من هذه المشكلة:

أيضًا ، أود أن أقترح تغيير عنوان هذه المشكلة إلى "__Run على كل من Python 2 و Python 3__" لأنه من الواضح أنه من أفضل الممارسات أن يكون لديك قاعدة بيانات تعمل على كليهما _قبل_ إزالة دعم Python 2. 423 يومًا حتى نهاية حياة Python 2.

cclauss بإذن منك ، هل يمكنني تحديث رسالتك أعلاه الآن بعد أن تم تغيير العنوان وتحديث قائمة التحقق؟ (لتجنب عدم تزامن قائمتين مرجعيتين)

بخلاف Infogami ، فإن أي خطوات متابعة إضافية يمكن أن توصي بها ستكون موضع تقدير كبير: bowing_man:

شكرًا لكونك قوة دافعة في تحقيق ذلك!

لا تتردد في إجراء التعديلات التي تناسبك. دعونا نركز على توصيل Infogami إلى نقطة حيث لم يعد يمنع اختبار Travis. كان تركيزي في مكان آخر ولكن آمل أن أتمكن من المشاركة مرة أخرى في الأسابيع القادمة.

تم تحديث قائمة المهام أعلاه للاحتفال بـ 100 يوم حتى نهاية حياة Python 2.

من الثرثرة هنا و Slack ، أعتبر هذا العمل قيد التقدم. ومع ذلك ، لا يوجد محال إليه. أفترض أن cclauss و @ salman-bhai سيكونان أفضل المرشحين لأنهم يقودون فريق Python3.

cclauss هل هذا الرمز هو نعم hornc مسؤولان عن جميع العلاقات العامة تقريبًا في تقسيم المهام.

هل نريد إعادة صياغة الخطوات / الموانع المتبقية المحددة في Python3؟

لست متأكدًا من سبب تقليل الأولوية. لا يلزم القيام بذلك بحلول الأول من كانون الثاني (يناير) ، ولكن يجب القيام بذلك قريبًا.

المانع الرئيسي في الوقت الحالي هو infogami ، على الرغم من أن نقله قد يكشف عن المشكلات المتبقية في أجزاء أخرى من النظام. بدلاً من محاولة تتبع كل مشكلة infogami بشكل منفصل هنا ، قد يكون من المنطقي الإشارة إلى مشكلة ملحمية Python 3 ذات المستوى الأعلى من infogami.

يبدو أننا حصلنا على إرجاء لبضعة أشهر أخرى. في نهاية شهر ديسمبر ، أجلت مؤسسة Python Software Foundation تاريخ التقاعد (مرة أخرى!) حتى أبريل 2020.

https://www.python.org/psf/press-release/pr20191220/

نعم ، لكن هذا المشروع هو آخر مشروع كبير أعلم أنه لم يتم تجاوزه بعد.

تم إصدار الإصدار الأخير من Python 2: https://stackoverflow.blog/2020/04/23/the-final-python-2-release-marks-the-end-of-an-era/ ولن يتلقى أي المزيد من التحديثات من أي نوع ، بما في ذلك الأخطاء الأمنية الخطيرة.

كل يوم من الآن فصاعدًا (منذ بضعة أشهر حقًا) يؤدي إلى زيادة التعرض لنقاط الضعف غير المصححة التي تهدد أنظمة إنتاج OpenLibrary.

حان الوقت لإغلاق هذا! شكرًا للجميع لمساعدتنا في الوصول إلى Python 3 !!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات