Python-future: Importación de paquetes `backports` y` move`, importaciones (por ejemplo, `test.py`) de las carpetas de usuario,

Creado en 28 ene. 2017  ·  4Comentarios  ·  Fuente: PythonCharmers/python-future

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?

0.19 bug

Comentario más útil

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.

Todos 4 comentarios

¿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.

¿Fue útil esta página
0 / 5 - 0 calificaciones