Python-future: Importation de packages `backports` et `moves`, importations (par exemple `test.py`) à partir des dossiers utilisateur,

Créé le 28 janv. 2017  ·  4Commentaires  ·  Source: PythonCharmers/python-future

future-version: 0.16.0
python-ver: 3.5

Lors de l'importation future.backports packages future.moves ou future.backports , il appelle import_top_level_modules() qui tente d'importer divers modules par leur nom. Par exemple, s'il y a un test.py dans le projet utilisateur, il est également importé de manière inattendue.

Selon le message d'un commit impliqué 264f9bcdf0, la méthode import_top_level_modules() été introduite pour "faire travailler le testeur sur travis-ci sur Py3" .
Ne serait-il pas préférable de placer ce code dans des packages de test ?

0.19 bug

Commentaire le plus utile

J'ai été mordu par cela lors de l'utilisation d'apache_beam avec python3.

Reproduire:

echo "raise NotImplementedError('This test.py file should not be touched')" >> ./test.py
pip install apache_beam
python -c "import apache_beam as beam"

Je remarque que le commentaire pour exclude_local_folder_imports qui est appelé depuis import_top_level_modules indique :

(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?)

Cela semble bien fonctionner sans. Il est peut-être temps.

Tous les 4 commentaires

Une mise à jour pour ceci?

J'ai été mordu par cela lors de l'utilisation d'apache_beam avec python3.

Reproduire:

echo "raise NotImplementedError('This test.py file should not be touched')" >> ./test.py
pip install apache_beam
python -c "import apache_beam as beam"

Je remarque que le commentaire pour exclude_local_folder_imports qui est appelé depuis import_top_level_modules indique :

(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?)

Cela semble bien fonctionner sans. Il est peut-être temps.

Également mordu lors de l'utilisation de la bibliothèque de traçage de tirets qui repose sur ce package. J'avais un comportement très étrange parce que j'avais un test.py rapide et sale pour expérimenter mon paquet pendant le développement, qui s'est avéré avoir été exécuté et changé silencieusement d'état critique chaque fois que j'ai fait un test local de mon application. Je n'aime vraiment pas déboguer des problèmes silencieux comme celui-ci. Veuillez envisager de donner la priorité à la suppression de ce comportement.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

foreignmeloman picture foreignmeloman  ·  3Commentaires

asottile picture asottile  ·  18Commentaires

e-rk picture e-rk  ·  14Commentaires

wagnerpeer picture wagnerpeer  ·  12Commentaires

sriram-mv picture sriram-mv  ·  14Commentaires