Problem z instalacją matplotlib w Pythonie [duplikat]
Próbuję zainstalować matplotlib w systemie Windows x64 z Pythonem 3.9. Kiedy robię:
pip zainstaluj matplotlib
Otrzymuję ten błąd:
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.
Próbowałem zastosować się do wszystkich porad, które tu znalazłem, ale nadal generuje błąd.
Kto może mi pomóc, proszę?
Odpowiedzi
Po zainstalowaniu koła należy ponownie uruchomić polecenie „pip install matplotlib”.
W moim przypadku błąd zamienia się w instalację poduszki, po pomyślnym zainstalowaniu poduszki mogę wreszcie zainstalować również matplotlib!
Próbować
pip install wheel
następnie spróbuj ponownie.
Ze ścieżki stosu wydaje się, że koło nie jest zainstalowane
Spróbuj wykonać następujące czynności
pip install wheel
następnie uruchomić
python setup.py bdist_wheel
Zgodnie z dokumentacją 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.
Miałem ten sam błąd. Po uruchomieniu pip install wheeluruchomiłem instalację z --prefer-binaryflagą:
python -m pip install -U matplotlib --prefer-binary.
Dokumentacja brzmi następująco:
Jeśli to polecenie spowoduje kompilację Matplotlib ze źródła i wystąpią problemy z kompilacją, możesz dodać --prefer-binary, aby wybrać najnowszą wersję Matplotlib, dla której istnieje wstępnie skompilowane koło dla twojego systemu operacyjnego i Pythona.