الإصدار المستقبلي: 0.16.0
بيثون الإصدار: 3.5
عند استيراد حزم future.moves
أو future.backports
، فإنه يستدعي import_top_level_modules()
الذي يحاول استيراد وحدات مختلفة بالاسم. على سبيل المثال ، إذا كان هناك مشروع مستخدم test.py
، فسيتم استيراده أيضًا بشكل غير متوقع.
وفقًا لرسالة أحد الالتزام المتورط 264f9bcdf0 ، تم تقديم طريقة import_top_level_modules()
من أجل "جعل عداء الاختبار يعمل على travis-ci على Py3" .
ألن يكون من الأفضل وضع هذا الرمز في حزم الاختبار؟
أي تحديث على هذا؟
لقد تعرضت للعض من هذا عند استخدام apache_beam مع python3.
لإعادة إنتاج:
echo "raise NotImplementedError('This test.py file should not be touched')" >> ./test.py
pip install apache_beam
python -c "import apache_beam as beam"
لاحظت أن التعليق لـ exclude_local_folder_imports
والذي يتم استدعاؤه من import_top_level_modules
حالات:
(This was need prior to v0.16.0 because the presence of a configparser
folder would otherwise have prevented setuptools from running on Py3. Maybe
it's not needed any more?)
يبدو أنه يعمل بشكل جيد بدونه. ربما حان الوقت.
عض أيضًا أثناء استخدام مكتبة التخطيط للشرطة التي تعتمد على هذه الحزمة. كنت أتلقى سلوكًا غريبًا للغاية لأنني حصلت على test.py
سريعًا وقذرًا لتجربة الحزمة الخاصة بي أثناء التطوير ، والتي تبين أنها كانت تعمل وتغير الحالة الحرجة بصمت في كل مرة أجري فيها اختبارًا محليًا من تطبيقي. أنا حقا لا أحب تصحيح مثل هذه القضايا الصامتة. يرجى النظر في إعطاء الأولوية لإزالة هذا السلوك.
التعليق الأكثر فائدة
لقد تعرضت للعض من هذا عند استخدام apache_beam مع python3.
لإعادة إنتاج:
لاحظت أن التعليق لـ
exclude_local_folder_imports
والذي يتم استدعاؤه منimport_top_level_modules
حالات:يبدو أنه يعمل بشكل جيد بدونه. ربما حان الوقت.