Python-future: Mengimpor paket `backports` dan `moves`, mengimpor (misalnya `test.py`) dari folder pengguna,

Dibuat pada 28 Jan 2017  ·  4Komentar  ·  Sumber: PythonCharmers/python-future

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?

0.19 bug

Komentar yang paling membantu

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.

Semua 4 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat