5

I am trying to install matplotlib in windows x64 with python 3.9. When I do:

pip install matplotlib

I get this error:

ERROR: Command errored out with exit status 1:
 command: 'c:\program files\python39\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Luca\\AppData\\Local\\Temp\\pip-install-zlfu5f08\\kiwisolver\\setup.py'"'"'; __file__='"'"'C:\\Users\\Luca\\AppData\\Local\\Temp\\pip-install-zlfu5f08\\kiwisolver\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Luca\AppData\Local\Temp\pip-pip-egg-info-mriih1bh'
     cwd: C:\Users\Luca\AppData\Local\Temp\pip-install-zlfu5f08\kiwisolver\
Complete output (44 lines):
WARNING: The wheel package is not available.
  ERROR: Command errored out with exit status 1:
   command: 'c:\program files\python39\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Luca\\AppData\\Local\\Temp\\pip-wheel-pvxhkv11\\cppy\\setup.py'"'"'; __file__='"'"'C:\\Users\\Luca\\AppData\\Local\\Temp\\pip-wheel-pvxhkv11\\cppy\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\Luca\AppData\Local\Temp\pip-wheel-1s8s6o5r'
       cwd: C:\Users\Luca\AppData\Local\Temp\pip-wheel-pvxhkv11\cppy\
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help

  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for cppy
ERROR: Failed to build one or more wheels
Traceback (most recent call last):
  File "c:\program files\python39\lib\site-packages\setuptools\installer.py", line 128, in fetch_build_egg
    subprocess.check_call(cmd)
  File "c:\program files\python39\lib\subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['c:\\program files\\python39\\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\\Users\\Luca\\AppData\\Local\\Temp\\tmpggz7lusd', '--quiet', 'cppy>=1.1.0']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Luca\AppData\Local\Temp\pip-install-zlfu5f08\kiwisolver\setup.py", line 59, in <module>
    setup(
  File "c:\program files\python39\lib\site-packages\setuptools\__init__.py", line 164, in setup
    _install_setup_requires(attrs)
  File "c:\program files\python39\lib\site-packages\setuptools\__init__.py", line 159, in _install_setup_requires
    dist.fetch_build_eggs(dist.setup_requires)
  File "c:\program files\python39\lib\site-packages\setuptools\dist.py", line 699, in fetch_build_eggs
    resolved_dists = pkg_resources.working_set.resolve(
  File "c:\program files\python39\lib\site-packages\pkg_resources\__init__.py", line 779, in resolve
    dist = best[req.key] = env.best_match(
  File "c:\program files\python39\lib\site-packages\pkg_resources\__init__.py", line 1064, in best_match
    return self.obtain(req, installer)
  File "c:\program files\python39\lib\site-packages\pkg_resources\__init__.py", line 1076, in obtain
    return installer(requirement)
  File "c:\program files\python39\lib\site-packages\setuptools\dist.py", line 758, in fetch_build_egg
    return fetch_build_egg(self, req)
  File "c:\program files\python39\lib\site-packages\setuptools\installer.py", line 130, in fetch_build_egg
    raise DistutilsError(str(e)) from e
distutils.errors.DistutilsError: Command '['c:\\program files\\python39\\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\\Users\\Luca\\AppData\\Local\\Temp\\tmpggz7lusd', '--quiet', 'cppy>=1.1.0']' returned non-zero exit status 1.
----------------------------------------ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

I tried to follow all of advice that i found here, but it continues to generate the error.

Who can help me, please?

0

4 Answers 4

7

From the stacktrace it seems as if wheel is not installed

Try the following

pip install wheel

then run

python setup.py bdist_wheel

As per the documentation PIP Wheel

Build System Interface¶
In order for pip to build a wheel, setup.py 
must implement the bdist_wheel command with the following syntax:

python setup.py bdist_wheel -d TARGET
This command must create a wheel compatible with the 
invoking Python interpreter, and save that wheel in the 
directory TARGET.

No other build system commands are invoked by the pip wheel command.
Sign up to request clarification or add additional context in comments.

2 Comments

When i run second instruction, the error is: python: can't open file 'C:\WINDOWS\system32\setup.py': [Errno 2] No such file or directory
When i run python setup.py bdist_wheel, the error is: python: can't open file 'C:\WINDOWS\system32\setup.py': [Errno 2] No such file or directory
3

You should then run again 'pip install matplotlib' after installing wheel.

In my case, the error turn to pillow installation, after i installed pillow successfully, i can finally install matplotlib also!

2 Comments

then, i have to solve the problem with pillow for install matplotlib without errors?
Pillow 8.0.0 now supports Python 3.9: pillow.readthedocs.io/en/stable/releasenotes/8.0.0.html
2

Try

pip install wheel 

then try again.

2 Comments

Now the problem is with pillow :(
Pillow 8.0.0 now supports Python 3.9: pillow.readthedocs.io/en/stable/releasenotes/8.0.0.html
1

I had the same error. After running pip install wheel I ran the install with the --prefer-binary flag:

python -m pip install -U matplotlib --prefer-binary.

The documentation reads the following:

If this command results in Matplotlib being compiled from source and there's trouble with the compilation, you can add --prefer-binary to select the newest version of Matplotlib for which there is a precompiled wheel for your OS and Python.

Comments