Python-future: Importieren von `backports` und `moves` Paketen, Importe (zB `test.py`) aus Benutzerordnern,

Erstellt am 28. Jan. 2017  ·  4Kommentare  ·  Quelle: PythonCharmers/python-future

zukünftige Version: 0.16.0
Python-Version: 3.5

Beim Importieren von future.moves oder future.backports Paketen ruft es import_top_level_modules() das versucht, verschiedene Module nach Namen zu importieren. Wenn beispielsweise ein test.py im Benutzerprojekt vorhanden ist, wird es auch unerwartet importiert.

Laut der Nachricht eines implizierten Commits 264f9bcdf0 wurde die Methode import_top_level_modules() eingeführt, um "den Testläufer dazu zu bringen, auf travis-ci auf Py3 zu arbeiten" .
Wäre es nicht besser, diesen Code in Testpakete zu platzieren?

0.19 bug

Hilfreichster Kommentar

Ich wurde gerade davon gebissen, als ich apache_beam mit Python3 verwendet habe.

Fortpflanzen:

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

Mir fällt auf, dass der Kommentar für exclude_local_folder_imports der von import_top_level_modules aufgerufen wird, lautet:

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

Ohne scheint es gut zu funktionieren. Vielleicht ist es an der Zeit.

Alle 4 Kommentare

Gibt es hierzu Neuigkeiten?

Ich wurde gerade davon gebissen, als ich apache_beam mit Python3 verwendet habe.

Fortpflanzen:

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

Mir fällt auf, dass der Kommentar für exclude_local_folder_imports der von import_top_level_modules aufgerufen wird, lautet:

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

Ohne scheint es gut zu funktionieren. Vielleicht ist es an der Zeit.

Auch gebissen, während Sie die Strichzeichnungsbibliothek verwenden, die auf diesem Paket basiert. Ich hatte ein sehr seltsames Verhalten, weil ich zufällig ein schnelles test.py zum Experimentieren mit meinem Paket während der Entwicklung hatte, das sich herausstellte, dass es jedes Mal lief und den kritischen Zustand jedes Mal, wenn ich einen lokalen Test durchführte, leise änderte meiner App. Ich mag es wirklich nicht, solche stillen Probleme zu debuggen. Bitte erwägen Sie, das Entfernen dieses Verhaltens zu priorisieren.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen