versi masa depan: 0.16.0
python-ver: 3.5
Saat mengimpor paket future.moves
atau future.backports
, ia memanggil import_top_level_modules()
yang mencoba mengimpor berbagai modul dengan nama. Misalnya, jika ada test.py
dalam proyek pengguna, itu juga diimpor secara tidak terduga.
Menurut pesan dari satu komit yang terlibat 264f9bcdf0, metode import_top_level_modules()
diperkenalkan untuk "membuat test runner bekerja pada travis-ci di Py3" .
Bukankah lebih baik menempatkan kode ini dalam paket uji?
ada update tentang ini?
Saya baru saja digigit oleh ini ketika menggunakan Apache_beam dengan python3.
Untuk mereproduksi:
echo "raise NotImplementedError('This test.py file should not be touched')" >> ./test.py
pip install apache_beam
python -c "import apache_beam as beam"
Saya perhatikan bahwa komentar untuk exclude_local_folder_imports
yang dipanggil dari import_top_level_modules
menyatakan:
(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?)
Tampaknya berfungsi dengan baik tanpanya. Mungkin sudah waktunya.
Juga digigit saat menggunakan pustaka plot dasbor yang bergantung pada paket ini. Saya mendapatkan perilaku yang sangat aneh karena kebetulan saya memiliki test.py
cepat dan kotor untuk bereksperimen dengan paket saya selama pengembangan, yang ternyata telah berjalan dan diam-diam mengubah status kritis setiap kali saya melakukan tes lokal dari aplikasi saya. Saya sangat tidak suka men-debug masalah diam seperti ini. Harap pertimbangkan untuk memprioritaskan penghapusan perilaku ini.
Komentar yang paling membantu
Saya baru saja digigit oleh ini ketika menggunakan Apache_beam dengan python3.
Untuk mereproduksi:
Saya perhatikan bahwa komentar untuk
exclude_local_folder_imports
yang dipanggil dariimport_top_level_modules
menyatakan:Tampaknya berfungsi dengan baik tanpanya. Mungkin sudah waktunya.