Python Multiprocessing Fehlermeldung: AttributeError: module '__main__' hat kein Attribut '__spec__'

Ich bin mit Python 3.6 und versuche zu Folgen zusammen mit dem ersten Beispiel auf der folgenden website (vollständigen code auch unten) und erhalte die folgende Fehlermeldung:
https://docs.python.org/3.6/library/multiprocessing.html

Fehlermeldung:
AttributeError: module '__main__' has no attribute '__spec__'

Vollständige Beispiel-code:

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    with Pool(5) as p:
        print(p.map(f, [1, 2, 3]))

Habe ich versucht zu Googeln und die Suche Stack Overflow, aber ich habe nur einen gefunden anderen Fall dieser Fehler und er keine Antwort hatte.

  • Der gepostete code funktioniert einwandfrei auf meinem Rechner
  • Ich bin mit Anaconda / Spyder mit Python 3.6... vielleicht hat das etwas damit zu tun?
  • Ich bin mit Spyder 3.1.2 mit Python 3.6.0 (Anaconda 4.3.1) in Windows 7
  • Ich bin auf Spyder 3.1.4. Ich fand, der code funktioniert, wenn ich das Skript von der Eingabeaufforderung aus, sondern gibt Fehler in Spyder. Jede Idee, wenn es irgendeine Konfiguration Schritte zu machen Spyder spielen schön mit multiprocessing?
  • Sind Sie sicher, dass Sie die richtige python-executable, die in Spyder?
  • Der Python-interpreter auf "Default (dh die gleiche wie Spyder)". Ich änderte Anaconda Einstellungen ausgeführt werden, die in einem externen system-terminal und es läuft wunderbar. Etwas über die IPython console wirft Fehler.
  • Ich habe diese Fehlermeldung heute (module '__main__' has no attribute '__spec__') bei dem Versuch, dies zu tun pytorch tutorial mit Spyder. Speziell die Linie dataiter = iter(trainloader) im tutorial der Auslöser für den Fehler. Die __spec__ = None Lösung unten arbeitete für mich, aber es scheint seltsam, dass muss man zurückgreifen. Eine der Spyder devs kommentiert dieses Problem? @CarlosCordoba

InformationsquelleAutor user8474060 | 2017-08-16
Schreibe einen Kommentar