Python, Error while installing matplotlib

Posted on

Question :

Python, Error while installing matplotlib

OS: Windows 10

Python ver: 3.9.0

Error code:

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. 

I tried:

python -m pip install -U pip
python -m pip install -U matplotlib

didn’t work.

and then I tried:

pip install --upgrade setuptools

didn’t solve the problem.

I read on SO that maybe if I open the shell in administrator mode it could solve the problem but it didn’t work too.

I saw someone mentioning ez-setup for this error code. I installed it but that didn’t work too.

I don’t know if it has something to do but my C directory looks like this:

C:UsersMETİNUSTA

It has an uppercase i character which sometimes can cause problems with applications. I can’t change it because I am using my school’s Windows key and it don’t let me do any change. Because of this I installed python on D: .

Also here my pip list for extra information:

ez-setup    0.9
flake8      3.8.4
mccabe      0.6.1
pip         20.2.4
pycodestyle 2.6.0
pyflakes    2.2.0
setuptools  50.3.2
wheel       0.35.1

and finally whole error log that I get on windows powershell:

    ERROR: Command errored out with exit status 1:
     command: 'd:pythonpython39python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\METİNUSTA\AppData\Local\Temp\pip-install-8iv10tb_\matplotlib\setup.py'"'"'; __file__='"'"'C:\Users\METİNUSTA\AppData\Local\Temp\pip-install-8iv10tb_\matplotlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:UsersMETİNUSTAAppDataLocalTemppip-pip-egg-info-elosrn6m'
         cwd: C:UsersMETİNUSTAAppDataLocalTemppip-install-8iv10tb_matplotlib
    Complete output (99 lines):
      WARNING: Missing build requirements in pyproject.toml for numpy>=1.15 from https://files.pythonhosted.org/packages/bf/e8/15aea783ea72e2d4e51e3ec365e8dc4a1a32c9e5eb3a6d695b0d58e67cdd/numpy-1.19.2.zip#sha256=0d310730e1e793527065ad7dde736197b705d0e4c9999775f212b03c44a8484c.
      WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'setuptools>=40.8.0' and 'wheel'.
        ERROR: Command errored out with exit status 1:
         command: 'd:pythonpython39python.exe' 'd:pythonpython39libsite-packagespip_vendorpep517_in_process.py' prepare_metadata_for_build_wheel 'C:UsersMETNUS~1AppDataLocalTemptmpqz3brme_'
             cwd: C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpy
        Complete output (49 lines):
        Error in sitecustomize; set PYTHONVERBOSE for traceback:
        SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xdd in position 0: unexpected end of data (sitecustomize.py, line 21)
        Running from numpy source directory.
        setup.py:470: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
          run_build = parse_setuppy_commands()
        Error in sitecustomize; set PYTHONVERBOSE for traceback:
        SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xdd in position 0: unexpected end of data (sitecustomize.py, line 21)
        Processing numpy/random_bounded_integers.pxd.in
        Processing numpy/randombit_generator.pyx
        Traceback (most recent call last):
          File "C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpytoolscythonize.py", line 59, in process_pyx
            from Cython.Compiler.Version import version as cython_version
        ModuleNotFoundError: No module named 'Cython'

        During handling of the above exception, another exception occurred:

        Traceback (most recent call last):
          File "C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpytoolscythonize.py", line 235, in <module>
            main()
          File "C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpytoolscythonize.py", line 231, in main
            find_process_files(root_dir)
          File "C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpytoolscythonize.py", line 222, in find_process_files
            process(root_dir, fromfile, tofile, function, hash_db)
          File "C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpytoolscythonize.py", line 188, in process
            processor_function(fromfile, tofile)
          File "C:UsersMETİNUSTAAppDataLocalTemppip-wheel-l2wpf1i8numpytoolscythonize.py", line 64, in process_pyx
            raise OSError('Cython needs to be installed in Python as a module')
        OSError: Cython needs to be installed in Python as a module
        Cythonizing sources
        Traceback (most recent call last):
          File "d:pythonpython39libsite-packagespip_vendorpep517_in_process.py", line 280, in <module>
            main()
          File "d:pythonpython39libsite-packagespip_vendorpep517_in_process.py", line 263, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "d:pythonpython39libsite-packagespip_vendorpep517_in_process.py", line 133, in prepare_metadata_for_build_wheel
            return hook(metadata_directory, config_settings)
          File "d:pythonpython39libsite-packagessetuptoolsbuild_meta.py", line 161, in prepare_metadata_for_build_wheel
            self.run_setup()
          File "d:pythonpython39libsite-packagessetuptoolsbuild_meta.py", line 253, in run_setup
            super(_BuildMetaLegacyBackend,
          File "d:pythonpython39libsite-packagessetuptoolsbuild_meta.py", line 145, in run_setup
            exec(compile(code, __file__, 'exec'), locals())
          File "setup.py", line 499, in <module>
            setup_package()
          File "setup.py", line 479, in setup_package
            generate_cython()
          File "setup.py", line 274, in generate_cython
            raise RuntimeError("Running cythonize failed!")
        RuntimeError: Running cythonize failed!
        ----------------------------------------
    ERROR: Command errored out with exit status 1: 'd:pythonpython39python.exe' 'd:pythonpython39libsite-packagespip_vendorpep517_in_process.py' prepare_metadata_for_build_wheel 'C:UsersMETNUS~1AppDataLocalTemptmpqz3brme_' Check the logs for full command output.
    Traceback (most recent call last):
      File "d:pythonpython39libsite-packagessetuptoolsinstaller.py", line 126, in fetch_build_egg
        subprocess.check_call(cmd)
      File "d:pythonpython39libsubprocess.py", line 373, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['d:\python\python39\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\Users\METNUS~1\AppData\Local\Temp\tmppoh8r2c9', '--quiet', 'numpy>=1.15']' 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:UsersMETİNUSTAAppDataLocalTemppip-install-8iv10tb_matplotlibsetup.py", line 242, in <module>
        setup(  # Finally, pass this all along to distutils to do the heavy lifting.
      File "d:pythonpython39libsite-packagessetuptools__init__.py", line 152, in setup
        _install_setup_requires(attrs)
      File "d:pythonpython39libsite-packagessetuptools__init__.py", line 147, in _install_setup_requires
        dist.fetch_build_eggs(dist.setup_requires)
      File "d:pythonpython39libsite-packagessetuptoolsdist.py", line 673, in fetch_build_eggs
        resolved_dists = pkg_resources.working_set.resolve(
      File "d:pythonpython39libsite-packagespkg_resources__init__.py", line 764, in resolve
        dist = best[req.key] = env.best_match(
      File "d:pythonpython39libsite-packagespkg_resources__init__.py", line 1049, in best_match
        return self.obtain(req, installer)
      File "d:pythonpython39libsite-packagespkg_resources__init__.py", line 1061, in obtain
        return installer(requirement)
      File "d:pythonpython39libsite-packagessetuptoolsdist.py", line 732, in fetch_build_egg
        return fetch_build_egg(self, req)
      File "d:pythonpython39libsite-packagessetuptoolsinstaller.py", line 128, in fetch_build_egg
        raise DistutilsError(str(e)) from e
    distutils.errors.DistutilsError: Command '['d:\python\python39\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\Users\METNUS~1\AppData\Local\Temp\tmppoh8r2c9', '--quiet', 'numpy>=1.15']' returned non-zero exit status 1.

    Edit setup.cfg to change the build options; suppress output with --quiet.

    BUILDING MATPLOTLIB
      matplotlib: yes [3.3.2]
          python: yes [3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC
                      v.1927 64 bit (AMD64)]]
        platform: yes [win32]
     sample_data: yes [installing]
           tests: no  [skipping due to configuration]
          macosx: no  [Mac OS-X only]

    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Answer #1:

edit: matplotlib has now released wheels for python 3.9 so pip install --upgrade matplotlib should work.

original answer

matplotlib hasn’t made a wheel yet for version 3.9 so your python attempted to build it from source. You should downgrade to python 3.8 and then everything should work

Answered By: Ianhi

Answer #2:

  1. python -m pip install --upgrade pip

  2. pip install matplotlib==3.3.1

Worked for me.

Answered By: Andrija Novakovic

Answer #3:

This is because matplotlib has no 3.9 wheels ..

For convenience in the use of matplotlib, you can install anaconda.
In anaconda environment matplotlib, numpy and pandas are available by default for Python installed in Anaconda.
Or you can use lower versions of Python.

Answered By: Farshad Javid

Leave a Reply

Your email address will not be published.