«From pylab import *» возвращает объект NoneType не повторяемый

1

Я отправляю это, потому что у меня проблема с matplotlib в Python 3.7.0

Я размещаю здесь копию кода ошибки, которую я получаю:

    >>> from pylab import *

Traceback (most recent call last):
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\font_manager.py", line 1353, in <module>
    fontManager = json_load(_fmcache)
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\font_manager.py", line 888, in json_load
    with open(filename, 'r') as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Salvador\\.matplotlib\\fontlist-v300.json'


During handling of the above exception, another exception occurred:


Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    from pylab import *
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\pylab.py", line 245, in <module>
    from matplotlib import cbook, mlab, pyplot as plt
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\pyplot.py", line 32, in <module>
    import matplotlib.colorbar
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\colorbar.py", line 32, in <module>
    import matplotlib.contour as contour
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\contour.py", line 18, in <module>
    import matplotlib.font_manager as font_manager
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\font_manager.py", line 1363, in <module>
    _rebuild()
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\font_manager.py", line 1344, in _rebuild
    fontManager = FontManager()
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\font_manager.py", line 978, in __init__
    ttffiles = findSystemFonts(paths) + findSystemFonts()
  File "C:\Users\Salvador\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\font_manager.py", line 264, in findSystemFonts
    fontfiles.update(win32InstalledFonts(fontext=fontext))

TypeError: 'NoneType' object is not iterable

Я добавил больше пробелов, которые, как я думаю, необходимы для улучшения удобочитаемости блоков.

Итак, я перечислил то, что я уже знаю:

  • Программа представляет собой реализацию уравнения Cahn-Hilliard (я опускаю остальную часть кода, потому что я не думаю, что это уместно в этом контексте).

  • Программа хорошо работала на другом компьютере, где я установил ее точно так же, используя только 64-битные вместо 32 (мне пришлось переключиться на эту машину, потому что они перемещали их в институт).

  • Я думал, что это может быть IDE, я использовал PyCharm, поэтому переключился на IDLE. Это не сработало.

  • Я подумал о переустановке matplotlib, попробовал его 4 раза без успеха (ошибка появилась с версией 3.0.0, и я даже попытался вернуться к 2.2.3, но все равно безуспешно).

  • Я удалил Python-64bit и снова установил его. Это не сработало. Я также попытался с 32-битной без везения (я удалил все папки, содержащие слово "python", включая установку PyCharm и перезапустил мой компьютер).

Так что, в основном, я в недоумении, так как я недостаточно знаю о Python или компиляторах компьютерной архитектуры, чтобы сделать что-нибудь еще. Любая помощь будет очень желанной.

Теги:
matplotlib
python-3.x

2 ответа

1
Лучший ответ

Это, к сожалению, ошибка в последней версии 3.0.0 reasease matplotlib, см., Например, https://github.com/matplotlib/matplotlib/issues/12173. Вы должны вернуться к matplotlib 2.2.3 до тех пор, пока исправление не будет выпущено в matplotlib 3.0.1 или установить версию разработки, где ошибка исправлена к настоящему времени.

  • 0
    Теперь, когда я проверил «matplotlib .__ version__», возвращает «3.0.0», что очень странно, поскольку я намеренно установил matplotlib из файла 2.2.3 «.whl» в PyPI (я подумал, что это может быть проблемой, и поэтому я попытался смена версии). Как я могу вернуться к версии 2.2.3? Мне нужно получить его из другого источника или убедиться, что это не файл .whl?
  • 0
    Ммм, это странно. Можете ли вы дать ссылку на файл, который вы скачали? В любом случае, если вы выполните python -m pip install matplotlib==2.2.3 вы действительно должны получить указанную версию. Вы можете проверить это?
Показать ещё 2 комментария
0

вы можете просто использовать '! pip install matplotlib', чтобы обновить его

  • 0
    Это не решает проблему. Проблема возникла с самой новой версией, и, как было сказано в сообщении и комментариях @ImportanceOfBeingErnest, это ошибка в последней текущей версии (3.0.0), которая фактически была решена путем понижения программного обеспечения до предыдущей версии (2.2.3). )

Ещё вопросы

Сообщество Overcoder
Наверх
Меню