简体   繁体   English

Python,安装 matplotlib 时出错

[英]Python, Error while installing matplotlib

OS: Windows 10操作系统:Windows 10

Python ver: 3.9.0 Python 版本: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.我在 SO 上读到,也许如果我在管理员模式下打开 shell,它可以解决问题,但它也不起作用。

I saw someone mentioning ez-setup for this error code.我看到有人提到了这个错误代码的ez-setup。 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 目录看起来像这样:

C:\Users\METİNUSTA

It has an uppercase i character which sometimes can cause problems with applications.它有一个大写的 i 字符,有时会导致应用程序出现问题。 I can't change it because I am using my school's Windows key and it don't let me do any change.我无法更改它,因为我使用的是学校的 Windows 密钥,它不允许我进行任何更改。 Because of this I installed python on D: .因此,我在 D: 上安装了 python。

Also here my pip list for extra information:另外这里是我的 pip 列表以获取额外信息:

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:最后是我在 windows powershell 上得到的整个错误日志:

    ERROR: Command errored out with exit status 1:
     command: 'd:\python\python39\python.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('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\METİNUSTA\AppData\Local\Temp\pip-pip-egg-info-elosrn6m'
         cwd: C:\Users\METİNUSTA\AppData\Local\Temp\pip-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:\python\python39\python.exe' 'd:\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\METNUS~1\AppData\Local\Temp\tmpqz3brme_'
             cwd: C:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy
        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/random\bit_generator.pyx
        Traceback (most recent call last):
          File "C:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy\tools\cythonize.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:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy\tools\cythonize.py", line 235, in <module>
            main()
          File "C:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy\tools\cythonize.py", line 231, in main
            find_process_files(root_dir)
          File "C:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy\tools\cythonize.py", line 222, in find_process_files
            process(root_dir, fromfile, tofile, function, hash_db)
          File "C:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy\tools\cythonize.py", line 188, in process
            processor_function(fromfile, tofile)
          File "C:\Users\METİNUSTA\AppData\Local\Temp\pip-wheel-l2wpf1i8\numpy\tools\cythonize.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:\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
            main()
          File "d:\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "d:\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 133, in prepare_metadata_for_build_wheel
            return hook(metadata_directory, config_settings)
          File "d:\python\python39\lib\site-packages\setuptools\build_meta.py", line 161, in prepare_metadata_for_build_wheel
            self.run_setup()
          File "d:\python\python39\lib\site-packages\setuptools\build_meta.py", line 253, in run_setup
            super(_BuildMetaLegacyBackend,
          File "d:\python\python39\lib\site-packages\setuptools\build_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:\python\python39\python.exe' 'd:\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\METNUS~1\AppData\Local\Temp\tmpqz3brme_' Check the logs for full command output.
    Traceback (most recent call last):
      File "d:\python\python39\lib\site-packages\setuptools\installer.py", line 126, in fetch_build_egg
        subprocess.check_call(cmd)
      File "d:\python\python39\lib\subprocess.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:\Users\METİNUSTA\AppData\Local\Temp\pip-install-8iv10tb_\matplotlib\setup.py", line 242, in <module>
        setup(  # Finally, pass this all along to distutils to do the heavy lifting.
      File "d:\python\python39\lib\site-packages\setuptools\__init__.py", line 152, in setup
        _install_setup_requires(attrs)
      File "d:\python\python39\lib\site-packages\setuptools\__init__.py", line 147, in _install_setup_requires
        dist.fetch_build_eggs(dist.setup_requires)
      File "d:\python\python39\lib\site-packages\setuptools\dist.py", line 673, in fetch_build_eggs
        resolved_dists = pkg_resources.working_set.resolve(
      File "d:\python\python39\lib\site-packages\pkg_resources\__init__.py", line 764, in resolve
        dist = best[req.key] = env.best_match(
      File "d:\python\python39\lib\site-packages\pkg_resources\__init__.py", line 1049, in best_match
        return self.obtain(req, installer)
      File "d:\python\python39\lib\site-packages\pkg_resources\__init__.py", line 1061, in obtain
        return installer(requirement)
      File "d:\python\python39\lib\site-packages\setuptools\dist.py", line 732, in fetch_build_egg
        return fetch_build_egg(self, req)
      File "d:\python\python39\lib\site-packages\setuptools\installer.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.

edit: matplotlib has now released wheels for python 3.9 so pip install --upgrade matplotlib should work.编辑: matplotlib 现在已经发布了 python 3.9 的轮子,所以pip install --upgrade matplotlib应该可以工作。

original answer原答案

matplotlib hasn't made a wheel yet for version 3.9 so your python attempted to build it from source. matplotlib 尚未为 3.9 版制作轮子,因此您的 Python 尝试从源代码构建它。 You should downgrade to python 3.8 and then everything should work您应该降级到 python 3.8,然后一切正常

  1. python -m pip install --upgrade pip

  2. pip install matplotlib==3.3.1

为我工作。

This is because matplotlib has no 3.9 wheels ..这是因为 matplotlib 没有 3.9 轮子..

For convenience in the use of matplotlib, you can install anaconda.为了方便使用matplotlib,可以安装anaconda。 In anaconda environment matplotlib, numpy and pandas are available by default for Python installed in Anaconda.在 anaconda 环境 matplotlib 中,默认情况下 numpy 和 pandas 可用于安装在 Anaconda 中的 Python。 Or you can use lower versions of Python.或者您可以使用较低版本的 Python。

Install it from the source (Python >= 3.9.2):从源代码安装它(Python >= 3.9.2):

git clone git://github.com/matplotlib/matplotlib.git

and build and install with:并使用以下命令构建和安装:

cd matplotlib
python -mpip install .

If you want to be able to follow the development branch as it changes just replace the last step with:如果您希望能够跟随开发分支的变化,只需将最后一步替换为:

python -mpip install -e .

Source and more information here: https://matplotlib.org/stable/faq/installing_faq.html#install-from-git来源和更多信息在这里: https : //matplotlib.org/stable/faq/installing_faq.html#install-from-git

I am currently using Python version 3.10 in my pc and wanted to install Maplotlib我目前在我的电脑上使用 Python 3.10 版并想安装 Maplotlib

using使用

pip install matplotlib

Error: Building wheel for matplotlib (setup.py)..error错误:为 matplotlib 构建轮子 (setup.py)..error

cycler = 0.10 
kiwisolver = 1.0.1
numpy = 1.16 
pillow = 6.2.0 
pyparsing = 2.2.1
six = 1.5 
python-dateutil = 2.7

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

Successfully installed pip-21.3.1 again it didn't install...再次成功安装 pip-21.3.1 它没有安装...

Found out Matplotlib wheel is available only for Python 3.9 version.发现 Matplotlib 轮仅适用于 Python 3.9 版本。 using Python 3.9 Version installed Matplotlib it is successfull使用 Python 3.9 版本安装 Matplotlib 就成功了

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM