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?

4 Answers4

6

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.
Paddy Popeye
  • 1,634
  • 1
  • 16
  • 29
  • 2
    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 –  Oct 10 '20 at 11:12
  • 1
    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 –  Oct 10 '20 at 13:46
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!

  • 1
    then, i have to solve the problem with pillow for install matplotlib without errors? –  Oct 10 '20 at 15:07
  • Pillow 8.0.0 now supports Python 3.9: https://pillow.readthedocs.io/en/stable/releasenotes/8.0.0.html – Hugo Oct 16 '20 at 11:47
2

Try

pip install wheel 

then try again.

Aldy syahdeini
  • 349
  • 1
  • 4
  • 16
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.

Bas G
  • 178
  • 2
  • 11