Matplotlib в Windows-зависимость не решена
у меня были проблемы с использованием matplotlib после обновления Windows. Я запускаю Windows 7 Service Pack 1 32 бит, и я установил Python и matplotlib как часть Python(x,y)-2.7.6.1. Проблема связана с FreeType, так как импорт не выполняется на ft2font, как показано в трассировке стека ниже:
In [1]: import matplotlib
In [2]: matplotlib.use('agg')
In [3]: import matplotlib.pyplot as plt
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-3-eff513f636fd> in <module>()
----> 1 import matplotlib.pyplot as plt
C:Python27libsite-packagesmatplotlibpyplot.py in <module>()
22
23 import matplotlib
---> 24 import matplotlib.colorbar
25 from matplotlib import _pylab_helpers, interactive
26 from matplotlib.cbook import dedent, silent_list, is_string_like, is_numlike
C:Python27libsite-packagesmatplotlibcolorbar.py in <module>()
27 import matplotlib.artist as martist
28 import matplotlib.cbook as cbook
---> 29 import matplotlib.collections as collections
30 import matplotlib.colors as colors
31 import matplotlib.contour as contour
C:Python27libsite-packagesmatplotlibcollections.py in <module>()
21 import matplotlib.artist as artist
22 from matplotlib.artist import allow_rasterization
---> 23 import matplotlib.backend_bases as backend_bases
24 import matplotlib.path as mpath
25 from matplotlib import _path
C:Python27libsite-packagesmatplotlibbackend_bases.py in <module>()
48
49 import matplotlib.tight_bbox as tight_bbox
---> 50 import matplotlib.textpath as textpath
51 from matplotlib.path import Path
52 from matplotlib.cbook import mplDeprecation
C:Python27libsite-packagesmatplotlibtextpath.py in <module>()
9 from matplotlib.path import Path
10 from matplotlib import rcParams
---> 11 import matplotlib.font_manager as font_manager
12 from matplotlib.ft2font import FT2Font, KERNING_DEFAULT, LOAD_NO_HINTING
13 from matplotlib.ft2font import LOAD_TARGET_LIGHT
C:Python27libsite-packagesmatplotlibfont_manager.py in <module>()
51 import matplotlib
52 from matplotlib import afm
---> 53 from matplotlib import ft2font
54 from matplotlib import rcParams, get_cachedir
55 from matplotlib.cbook import is_string_like
ImportError: DLL load failed: The specified procedure could not be found.
Я попытался переустановить Python (x,y), но это не решило проблему.
из других ответов на Stackoverflow я узнал, что общие неудачи здесь включить отсутствует msvcr90.dll
и msvcp90.dll
файлы. Я загрузил Dependency Walker и открыл c:Python27Libsite-packagesmatplotlibFT2FONT.PYD
. Это показало проблемы с этими файлами и с libbz2.dll
. Я загрузил и скопировал эти файлы в c:windowssystem32
.
Я также попытался проверить мой PATH
и PYTHONPATH
переменные среды, но они, похоже, ссылаются на мою установку Python правильно:
PATH: C:Python27Libsite-packagesPyQt4;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program FilesNovellGroupWise;C:Program FilesMiKTeX 2.9miktexbin;C:Program FilesMicrosoft SQL ServerToolsBinn;C:Program FilesMicrosoft SQL Server0ToolsBinn;C:Program FilesCommon FilesAspenTech Shared;C:Python27;C:Python27DLLs;C:Python27Scripts;C:Python27gnuplotbinary;C:Program FilespythonxySciTE-3.3.2-3;C:Program Filespythonxyconsole;C:MinGW32-xybin;C:Python27Libsite-packagesvtk
PYTHONPATH: c:Python27DLLs
проблема проявляется даже при использовании только бэкэнда Agg, как показано в сеансе выше, поэтому я не думаю, что он имеет все, что связано с Qt или tk.
1 ответов
похоже, что проблема была вызвана приложением, устанавливающим другую / несовместимую версию BZ2 в C:\Windows\System32\libbz2.dll
. Это использовалось вместо dll с тем же именем в каталоге Python27,установленном Python(x, y). Вот как ситуация проявилась в Dependency Walker:
вы можете видеть, что что-то не так с libbz2.dll
даже если Dependency Walker не перечисляет его как ошибку зависимости как таковую. Переименование или удаление версия C:\Windows\System32\
вызвал зависимость, которая будет разрешена версией в c:\Python27\DLLs
.