I excitedly installed Python v3.4 this afternoon as it now comes with PIP pre-packaged in it but typing pip install matplotlib
yielded a rather disappointing response:
C:\Users\jonc>pip install matplotlib
Downloading/unpacking matplotlib
Running setup.py (path:C:\Users\jonc\AppData\Local\Temp\pip_build_Jonc\matplotlib\setup.py) egg_info for package matpl
otlib
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [1.3.1]
python: yes [3.4.0 (v3.4.0:04f714765c13, Mar 16 2014,
19:25:23) [MSC v.1600 64 bit (AMD64)]]
platform: yes [win32]
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [not found. pip may install it below.]
dateutil: yes [dateutil was not found. It is required for date
axis support. pip/easy_install may attempt to
install it after matplotlib.]
tornado: yes [tornado was not found. It is required for the
WebAgg backend. pip/easy_install may attempt to
install it after matplotlib.]
pyparsing: yes [pyparsing was not found. It is required for
mathtext support. pip/easy_install may attempt to
install it after matplotlib.]
pycxx: yes [Official versions of PyCXX are not compatible
with Python 3.x. Using local copy]
libagg: yes [pkg-config information for 'libagg' could not
be found. Using local copy.]
freetype: yes [Unknown version]
png: yes [pkg-config information for 'libpng' could not
be found. Using unknown version.]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [nose 0.11.1 or later is required to run the
matplotlib test suite]
OPTIONAL BACKEND EXTENSIONS
macosx: no [Mac OS-X only]
qt4agg: no [PyQt4 not found]
gtk3agg: no [gtk3agg backend does not work on Python 3]
gtk3cairo: no [Requires cairo to be installed.]
gtkagg: no [Requires pygtk]
tkagg: no [The C/C++ header for Tk (tk.h) could not be
found. You may need to install the development
package.]
wxagg: no [requires wxPython]
gtk: no [Requires pygtk]
agg: yes [installing]
cairo: no [cairo not found]
windowing: yes [installing, installing]
OPTIONAL LATEX DEPENDENCIES
dvipng: no
ghostscript: no
latex: no
pdftops: no
non-existing path in 'numpy\\distutils': 'site.cfg'
non-existing path in 'numpy\\lib': 'benchmarks'
Running from numpy source directory.
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1521: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1530: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
warnings.warn(BlasNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1533: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
warnings.warn(BlasSrcNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1427: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1438: UserWarning:
Lapack (http://www.netlib.org/lapack/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [lapack]) or by setting
the LAPACK environment variable.
warnings.warn(LapackNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1441: UserWarning:
Lapack (http://www.netlib.org/lapack/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [lapack_src]) or by setting
the LAPACK_SRC environment variable.
warnings.warn(LapackSrcNotFoundError.__doc__)
C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "C:\Users\jonc\AppData\Local\Temp\pip_build_Jonc\matplotlib\setup.py", line 268, in <module>
**extra_args
File "C:\Python34\lib\distutils\core.py", line 109, in setup
_setup_distribution = dist = klass(attrs)
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 239, in __init__
self.fetch_build_eggs(attrs.pop('setup_requires'))
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 263, in fetch_build_eggs
parse_requirements(requires), installer=self.fetch_build_egg
File "C:\Python34\lib\site-packages\pkg_resources.py", line 564, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "C:\Python34\lib\site-packages\pkg_resources.py", line 802, in best_match
return self.obtain(req, installer) # try and download/install
File "C:\Python34\lib\site-packages\pkg_resources.py", line 814, in obtain
return installer(requirement)
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 313, in fetch_build_egg
return cmd.easy_install(req)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 593, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 623, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 809, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 1015, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 1000, in run_setup
run_setup(setup_script, args)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 50, in run_setup
lambda: execfile(
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 100, in run
return func()
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 52, in <lambda>
{'__file__':setup_script, '__name__':'__main__'}
File "C:\Python34\lib\site-packages\setuptools\compat.py", line 78, in execfile
exec(compile(source, fn, 'exec'), globs, locs)
File "setup.py", line 239, in <module>
author_email="[email protected]",
File "setup.py", line 231, in setup_package
setup_requires = []
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\core.py", line 169, in se
tup
File "C:\Python34\lib\distutils\core.py", line 149, in setup
dist.run_commands()
File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Python34\lib\site-packages\setuptools\command\bdist_egg.py", line 177, in run
self.run_command("egg_info")
File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\egg_info.py", lin
e 10, in run
File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", li
ne 153, in run
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", li
ne 164, in build_sources
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", li
ne 299, in build_library_sources
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", li
ne 386, in generate_sources
File "numpy\core\setup.py", line 680, in get_mathlib_info
File "C:\Python34\lib\distutils\command\config.py", line 243, in try_link
self._check_compiler()
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\config.py", line
57, in _check_compiler
File "C:\Python34\lib\distutils\msvc9compiler.py", line 371, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:\Python34\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: ['path']
Complete output from command python setup.py egg_info:
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [1.3.1]
python: yes [3.4.0 (v3.4.0:04f714765c13, Mar 16 2014,
19:25:23) [MSC v.1600 64 bit (AMD64)]]
platform: yes [win32]
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [not found. pip may install it below.]
dateutil: yes [dateutil was not found. It is required for date
axis support. pip/easy_install may attempt to
install it after matplotlib.]
tornado: yes [tornado was not found. It is required for the
WebAgg backend. pip/easy_install may attempt to
install it after matplotlib.]
pyparsing: yes [pyparsing was not found. It is required for
mathtext support. pip/easy_install may attempt to
install it after matplotlib.]
pycxx: yes [Official versions of PyCXX are not compatible
with Python 3.x. Using local copy]
libagg: yes [pkg-config information for 'libagg' could not
be found. Using local copy.]
freetype: yes [Unknown version]
png: yes [pkg-config information for 'libpng' could not
be found. Using unknown version.]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [nose 0.11.1 or later is required to run the
matplotlib test suite]
OPTIONAL BACKEND EXTENSIONS
macosx: no [Mac OS-X only]
qt4agg: no [PyQt4 not found]
gtk3agg: no [gtk3agg backend does not work on Python 3]
gtk3cairo: no [Requires cairo to be installed.]
gtkagg: no [Requires pygtk]
tkagg: no [The C/C++ header for Tk (tk.h) could not be
found. You may need to install the development
package.]
wxagg: no [requires wxPython]
gtk: no [Requires pygtk]
agg: yes [installing]
cairo: no [cairo not found]
windowing: yes [installing, installing]
OPTIONAL LATEX DEPENDENCIES
dvipng: no
ghostscript: no
latex: no
pdftops: no
non-existing path in 'numpy\\distutils': 'site.cfg'
non-existing path in 'numpy\\lib': 'benchmarks'
Running from numpy source directory.
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1521: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1530: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
warnings.warn(BlasNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1533: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
warnings.warn(BlasSrcNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1427: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1438: UserWarning:
Lapack (http://www.netlib.org/lapack/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [lapack]) or by setting
the LAPACK environment variable.
warnings.warn(LapackNotFoundError.__doc__)
C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\system_info.py:1441: UserWarning:
Lapack (http://www.netlib.org/lapack/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [lapack_src]) or by setting
the LAPACK_SRC environment variable.
warnings.warn(LapackSrcNotFoundError.__doc__)
C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "C:\Users\jonc\AppData\Local\Temp\pip_build_Jonc\matplotlib\setup.py", line 268, in <module>
**extra_args
File "C:\Python34\lib\distutils\core.py", line 109, in setup
_setup_distribution = dist = klass(attrs)
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 239, in __init__
self.fetch_build_eggs(attrs.pop('setup_requires'))
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 263, in fetch_build_eggs
parse_requirements(requires), installer=self.fetch_build_egg
File "C:\Python34\lib\site-packages\pkg_resources.py", line 564, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "C:\Python34\lib\site-packages\pkg_resources.py", line 802, in best_match
return self.obtain(req, installer) # try and download/install
File "C:\Python34\lib\site-packages\pkg_resources.py", line 814, in obtain
return installer(requirement)
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 313, in fetch_build_egg
return cmd.easy_install(req)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 593, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 623, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 809, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 1015, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 1000, in run_setup
run_setup(setup_script, args)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 50, in run_setup
lambda: execfile(
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 100, in run
return func()
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 52, in <lambda>
{'__file__':setup_script, '__name__':'__main__'}
File "C:\Python34\lib\site-packages\setuptools\compat.py", line 78, in execfile
exec(compile(source, fn, 'exec'), globs, locs)
File "setup.py", line 239, in <module>
author_email="[email protected]",
File "setup.py", line 231, in setup_package
setup_requires = []
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\core.py", line 169, in setup
File "C:\Python34\lib\distutils\core.py", line 149, in setup
dist.run_commands()
File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Python34\lib\site-packages\setuptools\command\bdist_egg.py", line 177, in run
self.run_command("egg_info")
File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\egg_info.py", line 10
, in run
File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", line 1
53, in run
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", line 1
64, in build_sources
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", line 2
99, in build_library_sources
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\build_src.py", line 3
86, in generate_sources
File "numpy\core\setup.py", line 680, in get_mathlib_info
File "C:\Python34\lib\distutils\command\config.py", line 243, in try_link
self._check_compiler()
File "C:\Users\jonc\AppData\Local\Temp\easy_install-jzy7ozif\numpy-1.8.1\numpy\distutils\command\config.py", line 57,
in _check_compiler
File "C:\Python34\lib\distutils\msvc9compiler.py", line 371, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:\Python34\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: ['path']
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in C:\Users\jonc\AppData\Local\Temp\pip_build_Jonc\matplotlib
Storing debug log for failure in C:\Users\jonc\pip\pip.log
There's some mention in the matplotlib docs on installing under windows that indicates numpy might need to be installed first but that also appears to fail:
C:\Users\jonc>pip install numpy
...skip a bit...
----------------------------------------
Cleaning up...
Command C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\jonc\\AppData\\Local\\Temp\\pip_buil
d_Jonc\\numpy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__,
'exec'))" install --record C:\Users\jonc\AppData\Local\Temp\pip-mjhk9pan-record\install-record.txt --single-version-exte
rnally-managed --compile failed with error code 1 in C:\Users\jonc\AppData\Local\Temp\pip_build_Jonc\numpy
Storing debug log for failure in C:\Users\jonc\pip\pip.log
What am I missing here? My Python's pretty rusty but I was under the impression pip installed dependencies itself?
I was hoping we were over the nightmare that used to be trying to install Python under Windows but it would seem not...
Python and NumPy Matplotlib supports: All minor versions of Python released 42 months prior to the project, and at minimum the two latest minor versions. All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions.
BUILDING MATPLOTLIB matplotlib: yes [3.3. 2] python: yes [3.9.
Matplotlib is a python library that allows you to represent your data visually.
You need to have a working C compiler (preferably gcc) installed in order to install matplotlib from sources (i.e. using pip). You don't appear to have that on your Windows box. It's probably better for you to wait for matplotlib Windows binaries to be released for python 3.4, which is what you are using. Or you can downgrade to python 3.3 and download the prebuilt Windows binaries of matplotlib for that version from http://matplotlib.org/downloads.html.
I was in the same situation after upgrading to python 3.4. I do have Visual Studio 2010 installed but getting Python's pip build process to use that properly is a big pain in the ass. I was able to find unofficial prebuilt binaries of numpy and matplotlib for Python 3.4 at http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib. Those are build with Visual Studio, so it is possible to pull it off, but I don't have the patience to figure out the gunky details. By the way, you also need install python‑dateutil, pyparsing and the module/library called six from the same repository for some basic matplotlib examples to work. [Hat tip to: ImportError: matplotlib requires dateutil ]. You can probably email the maintainer of this latter collection of binaries for tips how to do it... and perhaps let us know what's involved. (You appear to have Visual Studio 2008 installed [MSVC 9], or at least your Python 3.4 installation seems to think you have it and is trying to use that.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With