Python-future: المثبت لإزالة __future __ / الواردات المستقبلية من الكود المستقبلي

تم إنشاؤها على ٢٨ مايو ٢٠١٩  ·  5تعليقات  ·  مصدر: PythonCharmers/python-future

كنت أبحث عن هذه الميزة ، لكنني لم أشاهدها في الوثائق ، لذلك أقوم بفتح طلب ميزة.

أحب أن أرى مُثبتًا يأخذ كود Python 2/3 المتوافق ويزيل دعم Python 2 بأفضل شكل ممكن.

هذا من شأنه:

  • إزالة عمليات الاستيراد غير الضرورية __future__ ( print_function على سبيل المثال)
  • قم بإزالة خطوط from future import standard_library و standard_library.install_aliases()
  • إزالة خطوط from builtins import *
  • إزالة from future.utils import python_2_unicode_compatible

إذا كان مثل هذا المثبت موجودًا بالفعل ، فأنا أحب أن أعرف عنه.

يستخدم عدد من عملائي future لترقية الكود الخاص بهم إلى Python 3 ثم إسقاط دعم Python 2 بعد ذلك بوقت قصير ، وسيكون مثل هذا المثبت مفيدًا جدًا لهم.

futurize script help wanted unscheduled wontfix / cantfix

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

لقد أجريت بعض التحولات بنفسي وجمعتهم في نص. إنه متاح حاليًا هنا: https://github.com/purplediane/drop2

ال 5 كومينتر

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

لقد أجريت بعض التحولات بنفسي وجمعتهم في نص. إنه متاح حاليًا هنا: https://github.com/purplediane/drop2

أداة ذات صلة ، مع بعض التداخل (أي الواردات __future__ ):

asottile / pyupgrade: أداة (وخطاف الالتزام المسبق) لترقية بناء الجملة تلقائيًا لإصدارات أحدث من اللغة.

أشياء أخرى ملحوظة:

  • يزيل البادئة u
  • يزيل (object) من تعريفات class
  • تحديثات super() calls
  • تحديثات الواردات mock

ومع ذلك ، تمكنت من استخدام sed مقابل standard_library :

sed -i '' '/.*standard_library.*/d' **/*.py
-from future import standard_library
-standard_library.install_aliases()
 import json
 import logging
 import urllib.parse

أخطط لفعل الشيء نفسه من أجل:

  • .*python_2_unicode_compatible.*
  • .*implements_iterator.*
  • from builtins.*

أنا بالفعل على علم بـ pyupgrade واستخدمته. فإنه من المفيد جدا.

pyupgrade (بالإضافة إلى ربط الالتزام المسبق) هي أداة رائعة لهذا الغرض. هل يمكننا إغلاق هذا FR لأن البديل متاح؟

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

القضايا ذات الصلة

asottile picture asottile  ·  18تعليقات

e-rk picture e-rk  ·  14تعليقات

sriram-mv picture sriram-mv  ·  14تعليقات

foreignmeloman picture foreignmeloman  ·  3تعليقات

wagnerpeer picture wagnerpeer  ·  12تعليقات