Ipython: باثليب ، باتليب في كل مكان.

تم إنشاؤها على ٢٨ أغسطس ٢٠٢٠  ·  22تعليقات  ·  مصدر: ipython/ipython

هناك العديد من الأماكن حيث يمكننا الاستفادة من Pathlib.

ابحث عن أي أماكن تستخدم with open(...) واسأل نفسك:

  • هل الوسيطة سلسلة؟
  • هل من المنطقي جعله Path() ،
  • إلى أي مدى في المنبع في الكود يمكنني جعله مسارًا.

لا تحاول أن تقضم أكثر مما تستطيع مضغه (أو أكثر مما أستطيع مراجعته) ، حاول إصلاح مكان واحد في كل مرة.

Hacktoberfest good first issue help wanted

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

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

ال 22 كومينتر

على سبيل المثال راجع https://github.com/ipython/ipython/pull/12512

مرحبًا Carreau ، إذا لم يكن هناك أحد يعمل على /core/page.py لاستخدام Pathlib ، فهل يمكنني المشاركة في هذا الجزء؟

مرحبًا Carreau ، إذا لم يكن هناك أحد يعمل على /core/page.py لاستخدام Pathlib ، فهل يمكنني المشاركة في هذا الجزء؟

بالتأكيد ، من فضلك. شكر.

مرحبًا ، أود العمل على core / dynamichell.py وإضافة المزيد من استخدام Pathlib.
هل يمكنني المساعدة في ذلك؟

مرحبًا Carreau ، هل يمكنني إجراء الاختبار / iptestcontroller.py و core / magics / excommunity

قد يكون مفيدًا أيضًا: https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module

هناك العديد من الأماكن بخلاف with open() التي قد تستخدم علاج pathlib:

-    conda_history = os.path.join(sys.prefix, 'conda-meta', 'history')
-    return os.path.exists(conda_history)
+    return Path(sys.prefix, 'conda-meta', 'history').exists()

هذه نقطة جيدة.

يوم السبت 10 أكتوبر 2020 الساعة 8:33 مساءً Blazej Michalik [email protected]
كتب:

قد يكون مفيدًا أيضًا:
https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module

هناك العديد من الأماكن غير المفتوحة () التي قد تستخدم pathlib
علاج او معاملة:

  • conda_history = os.path.join (sys.prefix، 'conda-meta'، 'history') - إرجاع os.path.exists (conda_history) + مسار الرجوع (sys.prefix، 'conda-meta'، 'history') موجود ()

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/ipython/ipython/issues/12515#issuecomment-706630653 ،
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/ADMY5F73MJDQ6CL32KEUZS3SKD4LXANCNFSM4QNPWX2Q
.

قد يكون مفيدًا أيضًا: https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module

هناك العديد من الأماكن بخلاف with open() التي قد تستخدم علاج pathlib:

على الرغم من أن بعضها قد يكون أقل تافهة وأكثر عرضة للخطأ ، خاصة عندما يتم تفسيرها على أنها نص. على سبيل المثال ، عند إرجاع كائن PosixPath يكسر الرمز في النطاق أعلاه لأنه يتم ' '.join() -ed مع وسيطات shell الأخرى.

لا يزال هناك أي أماكن متبقية لإصلاح هذا؟ يبدو أن الكثير من الناس يعملون على ذلك.
تحرير: وجدت بعض ، فما باللك

لا يزال هناك أي أماكن متبقية لإصلاح هذا؟ يبدو أن الكثير من الناس يعملون على ذلك.

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

هناك أشياء أخرى يمكنك تجربتها ؛ ابحث عن جميع الأماكن التي تستخدم cast_unicode / cast_bytes ، ومعرفة ما إذا كانت قابلة للإزالة. يرجع العديد من هؤلاء إلى توافق Python 2 القديم.

على سبيل المثال هناك

def find_file(obj) -> str:
  ...
    fname = None
    try:
        fname = inspect.getabsfile(obj)
    except TypeError:
        # For an instance, the file that matters is where its class was
        # declared.
        if hasattr(obj, '__class__'):
            try:
                fname = inspect.getabsfile(obj.__class__)
            except TypeError:
                # Can happen for builtins
                pass
    except:
        pass
    return cast_unicode(fname)

إذا تمكنت من إثبات أن inspect.getabsfil دائمًا str وليس بايت ، فإن cast_unicode غير ضروري. إنه عمل أكثر قليلاً ، لكن ذلك من شأنه أن ينظف قاعدة البيانات.

لقد بحثت عن الوظائف في المشروع بأكمله ووجدت العديد منها. هل يجب أن أفكر في استبدالها جميعًا ببدائل Pathlib أو ما هي الملفات التي يجب أن أفكر في عدم استبدال الوظائف فيها؟

آسف إذا لم أستطع أن أجعلك تفهم ما أريد أن أقوله.

أنا أعمل على paths.py ووجدت السطر التالي في عدة وظائف:

assert isinstance(ipdir, str)

يعطي أحد هذه التأكيدات رسالة تقول "all path manipulation should be str(unicode), but are not." .

هل يجب أن أحذف مثل هذه الأسطر حتى يمكن الانتقال إلى pathlib؟

أنا أعمل على paths.py ووجدت السطر التالي في عدة وظائف:

assert isinstance(ipdir, str)

يعطي أحد هذه التأكيدات رسالة تقول "all path manipulation should be str(unicode), but are not." .

هل يجب أن أحذف مثل هذه الأسطر حتى يمكن الانتقال إلى pathlib؟

نعم ، بعض الأماكن لا تعمل بسبب ذلك.

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

لماذا هذا مغلق الآن؟

meeseeksdev مفتوح

Awww ، آسف يا ashwinvis ، يبدو أنه لا يُسمح لك بفعل ذلك ، من فضلك اسأل مشرف المستودع.

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

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

مرحباsquarebat
يجب علبك ان تفعل ذلك:

  • قم بتثبيت تبعيات الاختبار عن طريق تشغيل هذا الأمر في جذر الريبو:
$ pip3 install -e .[test]
  • ثم نفذ الاختبارات باستخدام
$ iptest

أريد العمل على ملف test_run.py . ومع ذلك ، أواجه مشكلة في حل بعض الأخطاء في هذا الملف. الخطأان الرئيسيان هما

  • undefined variable get_ipython (يتم حل هذا عن طريق إضافة استيراد ولكن هذا يبدو خاطئًا)

  • undefined variable _ip : في بعض الوظائف ، تمت تهيئة _ip كـ _ip = get_ipython() ومن ثم تعريفه ، ولكن في وظائف أخرى لم يتم تهيئته ، وبالتالي تسبب في حدوث خطأ.

لقد قمت بإعداد بيئتي باستخدام pip install .
أردت فقط معرفة ما إذا كنت قد ارتكبت خطأ أثناء إعداد البيئة ، أو إذا كان هناك خطأ في الملف test_run.py .

لقد أعددت بيئتي باستخدام pip install

يجب عليك استخدام pip install -e .[test]

يعني -e أنك قمت بتثبيته في الوضع القابل للتعديل.

مرحبا! هذه هي المرة الأولى التي أساهم فيها في مشروع مفتوح المصدر ، أود العمل على هذه المسألة.
هل يمكنني التخصيص؟

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