Recentemente ho installato "Anaconda3 per Windows v2.4.0" sulla mia macchina Windows 10 Home (64 bit).Errore nell'importazione di matplotlib.pyplot (su Anaconda3 per Windows 10 Home 64-bit PC)
(Ho scaricato il Windows a 64 bit Installatore grafico "Anaconda3-2.4.0-Windows-x86_64.exe" (392 MB) da https://www.continuum.io/downloads.)
In una finestra del prompt dei comandi, ho fatto la Conda " test drive", tra cui "aggiornamento Conda Conda", ecc alla fine, vedo il seguente:
C:\Users\Anshul\Downloads\Python>conda update conda
Fetching package metadata: ....
# All requested packages already installed.
# packages in environment at C:\Anaconda3:
#
conda 3.18.6 py35_0 defaults
C:\Users\Anshul\Downloads\Python>conda list matplotlib
# packages in environment at C:\Anaconda3:
#
matplotlib 1.5.0 np110py35_0 defaults
l'installazione sembra aver avuto successo - per esempio:
C:\Users\Anshul\Downloads\Python>python
Python 3.5.0 |Anaconda 2.4.0 (64-bit)| (default, Nov 7 2015, 13:15:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World
>>> import os
>>> os.getcwd()
'C:\\Users\\Anshul\\Downloads\\Python'
>>> import matplotlib as mpl
>>> print(mpl.__version__)
1.5.0
>>>
Nota esimo a matplotlib è stato importato bene sopra. Tuttavia, ottengo un messaggio di errore quando si tenta di importare "matplotlib.pyplot" come illustrato di seguito:
>>> import matplotlib.pyplot as pp
Traceback (most recent call last):
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1412, in <module>
fontManager = pickle_load(_fmcache)
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 963, in pickle_load
with open(filename, 'rb') as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Anshul\\.matplotlib\\fontList.py3k.cache'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 29, in <module>
import matplotlib.colorbar
File "C:\Anaconda3\lib\site-packages\matplotlib\colorbar.py", line 34, in <module>
import matplotlib.collections as collections
File "C:\Anaconda3\lib\site-packages\matplotlib\collections.py", line 27, in <module>
import matplotlib.backend_bases as backend_bases
File "C:\Anaconda3\lib\site-packages\matplotlib\backend_bases.py", line 62, in <module>
import matplotlib.textpath as textpath
File "C:\Anaconda3\lib\site-packages\matplotlib\textpath.py", line 15, in <module>
import matplotlib.font_manager as font_manager
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1420, in <module>
_rebuild()
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1405, in _rebuild
fontManager = FontManager()
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1043, in __init__
self.ttffiles = findSystemFonts(paths) + findSystemFonts()
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 312, in findSystemFonts
for f in win32InstalledFonts(fontdir):
File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 231, in win32InstalledFonts
direc = os.path.abspath(direc).lower()
File "C:\Anaconda3\lib\ntpath.py", line 535, in abspath
path = _getfullpathname(path)
ValueError: _getfullpathname: embedded null character
>>>
ho aperto "C: \ Anaconda3 \ lib \ site-packages \ matplotlib \ font_manager.py" in un editor di testo e ho provato a cercare la fonte dell'errore. Penso che questo è dove le cose vanno male:
>>> mpl.get_cachedir()
'C:\\Users\\Anshul\\.matplotlib'
>>> mpl.get_configdir()
'C:\\Users\\Anshul\\.matplotlib'
>>>
In Esplora risorse, vedo che il "C: \ Users \ Anshul.matplotlib" cartella è vuota, da cui il FileNotFoundError
per il "fontList.py3k.cache "file (che non vedo nemmeno nella directory" C: \ Anaconda3 "). Sembra essere un problema con l'installer (credo), ma non so come risolverlo. Apprezzerei qualsiasi aiuto o suggerimento.
(a proposito, ho già provato a cercare su Google questo problema, quello più vicino è stato riportato nel 2013: fail to import matplotlib.pyplot #2320. Ha coinvolto un'installazione di WinPython-64 bit-3.3.2.2 su un computer Windows 7 a 64 bit. thread è stato chiuso con il commento: ". chiusura già fissato in master"., ma sembra che il problema è riemerso spero che ci sia una semplice correzione o una soluzione alternativa)
Grazie,
Anshul
Sto avendo lo stesso problema su Windows 7 e Vanilla Python 3, non credo che i numeri di versione di Windows siano rilevanti. – simonzack
Ho appena eseguito il debug di questo e penso che winreg.EnumValue sia bacato, a volte emette stringhe che non sono limitate alla sua lunghezza. – simonzack