سؤال

هذا السؤال سبق الجواب هنا:

حتى مع النهائي إصدارات بيثون 3.0 (والآن 3.1), الكثير من الناس يواجهون القلق من كيفية ترقية دون أن تفقد نصف تعليمات البرمجة الأساسية بسبب التعارض إلى الوراء.

ما هي الناس أفضل نصائح لتجنب العديد من المزالق التي سوف تقريبا-لا محالة من التحول إلى الجيل المقبل من الثعبان ؟

ربما مكان جيد للبدء هو "استخدام 2to3 لتحويل بيثون 2.x رمز 3.س" :-)

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

المحلول

أولا هذا السؤال هي مشابهة جدا كيف تخطط التعامل مع الهجرة إلى بيثون 3?.تحقق الأجوبة هناك.

هناك أيضا القسم في بيثون ويكي حول ترقية التطبيقات إلى بيثون 3.x

على ملاحظات الإصدار الثعبان 3.0 يحتوي القسم حول ترقية.أنا أقتبس من هناك نصائح:

  1. (المتطلب السابق:) تبدأ مع اختبار ممتاز التغطية.
  2. ميناء بيثون 2.6.وهذا ينبغي أن يكون هناك المزيد من العمل من متوسط por من بيثون 2.x بيثون 2.(x+1).تأكد من أن جميع الاختبارات الخاصة بك تمرير.
  3. (لا تزال تستخدم 2.6:) تشغيل -3 تبديل سطر الأوامر.وهذا يتيح تحذيرات حول الميزات التي سوف تكون إزالة (أو تغيير) في 3.0.تشغيل الخاص بك اختبار جناح مرة أخرى و إصلاح التعليمات البرمجية التي يمكنك الحصول على تحذيرات حتى هناك لا تحذيرات اليسار و جميع الاختبارات الخاصة بك لا تزال تمر.
  4. تشغيل 2to3 مصدر إلى مصدر الترجمة على التعليمات البرمجية المصدر الخاصة بك شجرة.(انظر 2to3 الآلي بيثون 2 إلى 3 ترجمة التعليمات البرمجية لمعرفة المزيد عن هذا أداة.) تشغيل نتيجة الترجمة تحت الثعبان 3.0.يدويا إصلاح أي القضايا المتبقية ، وتحديد المشاكل حتى تمر جميع الاختبارات مرة أخرى.

فمن غير المستحسن محاولة الكتابة شفرة المصدر الذي يعمل في ظل دون تغيير كل بيثون 2.6 و 3.0;يجب أن استخدام جدا ملتوية الترميز النمط ، على سبيل المثالوتجنب طباعة البيانات ، metaclasses, وأكثر من ذلك بكثير.إذا كنت الحفاظ على المكتبة التي تحتاج إلى دعم كل من بيثون 2.6 و الثعبان 3.0, أفضل نهج هو تعديل الخطوة 3 أعلاه عن طريق تحرير 2.6 نسخة من كود المصدر و تشغيل على 2to3 المترجم مرة أخرى بدلا من تحرير الإصدار 3.0 من المصدر التعليمات البرمجية.

نصائح أخرى

أنا أكتب الكتاب مجانا عن هذا.يمكنك قراءتها من هنا:

http://python3porting.com/

باختصار:

  1. تأكد أن كل طرف ثالث المكتبات تتوفر بيثون 3.
  2. إعداد التعليمات البرمجية الخاصة بك عن طريق إزالة المشتركة الغموض:
    • استخدام // إذا كنت تريد حقا قسمة عدد صحيح.
    • تأكد من العلم الملفات الثنائية مع 'ب' العلم عند فتح لهم بوضوح تشير إلى إذا كنت تقصد البيانات الثنائية أو لا.
  3. أعلى الخاص بك اختبار تغطية أفضل.
  4. تأكد من أنه يعمل دون تحذيرات تحت عنوان "بايثون 2.7 -3".
  5. الآن تشغيل 2to3.
  6. إصلاح أي أخطاء.

هذا هو أكثر أو أقل.

بدون سبب مقنع حقًا للترقية، سألتزم بما ينجح.لقد بحثت في ترقية البرامج النصية التي أستخدمها يوميًا وكان هناك الكثير من العمل دون أي فائدة يمكنني رؤيتها.

"إذا لم يكن مكسورًا، فلا تصلحه!"

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