2016-08-01 12 views
0

Ich versuche matplotlib.pyplot in einem Skript zu importieren und zu verwenden, und ich die folgende Fehlermeldung erhalten:Modul ausschließlich Fehler importieren, wenn eine Datei ausgeführt wird

Traceback (most recent call last): 
    File "<pyshell#18>", line 1, in <module> 
    from matplotlib import pyplot as plt 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/pyplot.py", line 36, in <module> 
    from matplotlib.figure import Figure, figaspect 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/figure.py", line 40, in <module> 
    from matplotlib.axes import Axes, SubplotBase, subplot_class_factory 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/axes/__init__.py", line 4, in <module> 
    from ._subplots import * 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/axes/_subplots.py", line 10, in <module> 
    from matplotlib.axes._axes import Axes 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/axes/_axes.py", line 22, in <module> 
    import matplotlib.dates as _ # <-registers a date unit converter 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/matplotlib/dates.py", line 126, in <module> 
    from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY, 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/dateutil/rrule.py", line 13, in <module> 
    from fractions import gcd 
ImportError: cannot import name 'gcd' 

Das seltsame ist, dass ich es importieren gerade gut, wenn ich die Python-Schale neu starte und es direkt importiere, aber sobald ich versuche, mein Skript auszuführen, selbst wenn ich das Skript laufen lasse und es dann importiere, nachdem ich das Skript lief, um Daten zu erzeugen, erhalte ich den Fehler. Der Import Linie, wenn es darauf ankommt, ist immer das gleiche:

import matplotlib 
from matplotlib import pyplot 

Mein Skript wird von einem Ordner auf meinem Desktop läuft, und ich installierte matplotlib in Terminal mit PIP3.

+1

Haben Sie irgendwo eine Datei mit dem Namen 'fractions.py' erstellt? – BrenBarn

+0

fractions.py ist das Skript, das ich ausführen möchte, das in dem Ordner auf meinem Desktop ist. –

Antwort

2

Ihre Datei fractions.py überschattet das gleichnamige Modul, was zu Problemen führt, wenn andere Bibliotheken versuchen, diese Bibliothek zu verwenden. Benennen Sie Ihre Datei anders.

+0

Ich änderte den Namen der Datei und der Fehler tritt immer noch auf ... –

+2

@Pacopoler: Es kann eine Datei mit dem Namen 'bruchteile.pyc' in der Nähe Ihres' fractions.py' geben, die Sie ebenfalls entfernen müssen. – BrenBarn

+0

Da Sie mit 3.4 arbeiten, befindet sich Ihre Datei 'bruchteile.pyc' im Verzeichnis' __pycache__'. – cdarke