versión futura: 0.16.0
python-ver: 3.5
Al importar paquetes future.moves
o future.backports
, invoca import_top_level_modules()
que intenta importar varios módulos por nombre. Por ejemplo, si hay un test.py
en el proyecto del usuario, también se importará inesperadamente.
Según el mensaje de un compromiso 264f9bcdf0 implicado, se introdujo el método import_top_level_modules()
para "hacer que el ejecutor de pruebas funcione en travis-ci en Py3" .
¿No sería mejor colocar este código en paquetes de prueba?
solo mordido por esto.
https://bitbucket.org/pyglet/pyglet/issues/117/pyglet-produces-spurious-imports
¿Algún avance en esto?
Esto me mordió cuando usaba apache_beam con python3.
Reproducir:
echo "raise NotImplementedError('This test.py file should not be touched')" >> ./test.py
pip install apache_beam
python -c "import apache_beam as beam"
Noto que el comentario para exclude_local_folder_imports
que se llama desde import_top_level_modules
dice:
(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?)
Parece funcionar bien sin él. Quizás es el momento.
También se mordió al usar la biblioteca de trazado de guiones que se basa en este paquete. Estaba obteniendo un comportamiento muy extraño porque tenía un test.py
rápido y sucio por experimentar con mi paquete durante el desarrollo, que resultó haberse estado ejecutando y cambiando silenciosamente el estado crítico cada vez que hice una prueba local de mi aplicación. Realmente no me gusta depurar problemas silenciosos como este. Considere priorizar la eliminación de este comportamiento.
Comentario más útil
Esto me mordió cuando usaba apache_beam con python3.
Reproducir:
Noto que el comentario para
exclude_local_folder_imports
que se llama desdeimport_top_level_modules
dice:Parece funcionar bien sin él. Quizás es el momento.