[PYTHON] EC2 / Amazon Linux2: Que faire si une erreur "Impossible d'exécuter'gcc ': aucun fichier ou répertoire de ce type" se produit avec l'installation de pip

Aperçu

Lorsque j'exécute pip install -r requirements.txt sur EC2 / Amazon Linux2, les 30 lignes d'erreur suivantes sont générées et l'installation échoue.

ERROR: Command errored out with exit status 1:
     command: /home/my-user/.venvs/my_app/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ok4gp9ve/scikit-surprise/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ok4gp9ve/scikit-surprise/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-d52oris6/install-record.txt --single-version-externally-managed --compile --install-headers /home/my-user/.venvs/my_app/include/site/python3.7/scikit-surprise
         cwd: /tmp/pip-install-ok4gp9ve/scikit-surprise/
    Complete output (53 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/surprise

...(Abréviation)...

creating build/temp.linux-x86_64-3.7/surprise
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/home/my-user/.venvs/my_app/lib64/python3.7/site-packages/numpy/core/include -I/home/my-user/.venvs/my_app/include -I/usr/include/python3.7m -c surprise/similarities.c -o build/temp.linux-x86_64-3.7/surprise/similarities.o
    unable to execute 'gcc': No such file or directory
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/my-user/.venvs/my_app/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ok4gp9ve/scikit-surprise/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ok4gp9ve/scikit-surprise/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-d52oris6/install-record.txt --single-version-externally-managed --compile --install-headers /home/my-user/.venvs/my_app/include/site/python3.7/scikit-surprise Check the logs for full command output.

Si vous lisez l'erreur en bas, elle indique ERREUR: la commande a échoué avec l'état de sortie 1: ~. J'ai trouvé «../ scikit-surprise / ..» en scannant. Ceci est un package Python. Cette déclaration d'erreur indique que l'installation de scikit-surprise a échoué.

Action 1: installer gcc

Juste au-dessus de la déclaration d'erreur ci-dessus,

unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1

Est écrit. J'ai googlé cette déclaration d'erreur et j'ai trouvé un article présentant la solution. Il semble qu'il ait été amélioré en installant gcc avec la commande suivante.

$ sudo yum install gcc

Exécutez la commande immédiatement et réinstallez avec pip. Le résultat est,

Erreur fatale: Python.h: No such file or directory
     #include "Python.h"
              ^~~~~~~~~~
La compilation s'est arrêtée.
    error: command 'gcc' failed with exit status 1

Une autre erreur s'est produite avec Python.h: aucun fichier ou répertoire de ce type. Sans amélioration,

Action 2: installer Python devel

Quand j'ai recherché sur Google scikit-surprise et la déclaration d'erreur en réfléchissant sérieusement, presque la même erreur s'est produite dans problème GitHub. Il y avait une personne terrifiante.

Il y a un article sur le débordement de pile dans l'échange, et l'article dit Python. h: Aucune erreur de ce type de fichier ou de répertoire ne semble être causée par une bibliothèque appelée Python devn'étant pas correctement installée. Par conséquent, il devrait être amélioré en exécutant la commande suivante et en installantPython devel`.

$ sudo yum install python3-devel

Si vous l'exécutez immédiatement et installez pip,

Installing collected packages: scikit-surprise
    Running setup.py install for scikit-surprise ... done
Successfully installed scikit-surprise-1.1.1

S'affiche et l'installation a réussi. Je l'ai fait! !! !! !!

en conclusion

Je ne sais pas si cela sera utile, mais j'ai fait beaucoup de recherches et j'ai donc écrit un article. Je vous serais reconnaissant de bien vouloir signaler toute erreur!

référence

Recommended Posts

EC2 / Amazon Linux2: Que faire si une erreur "Impossible d'exécuter'gcc ': aucun fichier ou répertoire de ce type" se produit avec l'installation de pip
Que faire si ENOENT: aucun fichier ou répertoire de ce type n'apparaît pendant l'installation de npm
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire si vous obtenez une erreur non définie lorsque vous essayez d'utiliser pip avec pyenv
Que faire si vous obtenez une erreur lors du vagabondage lorsque vous activez public_network ou private_network sur Vagrant + Arch Linux → Installer netctl
Solution de contournement si vous obtenez une erreur lors de la tentative d'installation de PySide avec pip
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire si vous obtenez une erreur d'importation lors de l'importation de matplotlib avec Jupyter
Que faire si vous ne pouvez pas installer pyaudio avec pip #Python
Que faire si vous vous perdez dans la référence de fichier avec FileNotFoundError
Que faire si l'installation de pyenv ne se poursuit pas avec une erreur
Que faire si vous obtenez une erreur lors du chargement de mnist
Que faire si vous ne pouvez pas installer avec pip dans l'environnement babun
Que faire si vous obtenez Impossible de récupérer l'URL 443 avec pip
Que faire si vous obtenez une erreur "Aucune version trouvée" sur pipenv
Que faire lorsque [Errno 2] Aucun fichier ou répertoire de ce type n'apparaît en Python
Que faire si vous ne pouvez pas installer mysqlclient
Que faire lorsqu'une erreur "service inconnu" est renvoyée par le serveur gRPC
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
Que faire si vous obtenez l'erreur ʻERR_FEATURE_UNAVAILABLE_ON_PLATFORM` lors de l'utilisation de ts-node-dev sous Linux
Que faire si vous exécutez python sur IntelliJ et quittez avec une erreur
Que faire lorsque vous obtenez une erreur indiquant «Échec temporaire de la résolution du nom» sous Linux
Que faire lorsque swagger-codegen est terminé avec python et Erreur d'importation: aucun module nommé n'apparaît
Que faire si vous obtenez une erreur non définie: l'objet 'Module_six_moves_urllib_parse' n'a pas d'attribut 'urlencode' sur MacOS
Que faire si vous obtenez une erreur lors de l'exécution de "certbot renouveler" dans l'environnement CakePHP
pip install --upgrade pip n'entraînera aucun fichier ou répertoire de ce type
J'obtiens une erreur en essayant d'installer maec 4.0.1.0 avec pip
Lorsque j'essaye d'exécuter la commande pip après la mise à jour de pip, j'obtiens "No such file or directory"
Que faire si vous obtenez une erreur indiquant que le compilateur C ne peut pas créer d'exécutables dans configure
Que faire lorsque pip --user renvoie une erreur dans un environnement virtuel créé avec pyenv
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Que faire si vous êtes bloqué pendant l'installation d'Anaconda sur Linux
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Que faire si vous obtenez une erreur comme "Qstring" a déjà été défini sur la version 1 en utilisant mne python
Que faire lorsque vous vous fâchez avec "Value Error: unknown local: UTF-8" dans python manage.py syncdb
[Note] Comment gérer l'erreur unicode et aucun fichier ou répertoire de ce type (sortie de la table dans un fichier Excel avec pandas)
swapon failed: Que faire si vous vous fâchez contre l'opération non autorisée
Que faire si vous obtenez une erreur en essayant d'envoyer un message dans tasks.loop () immédiatement après le démarrage
Que faire si l'installation de pip échoue dans Xcode 5.1
Aucun module nommé Que faire si vous obtenez "libs.resources"
ModuleNotFoundError: No module Que faire si vous obtenez 'sensorflow.contrib'
Que faire quand "Aucun noyau pour le langage python trouvé" apparaît dans Hydrogen
Que faire si vous obtenez une erreur de mémoire lors de la conversion de PySparkDataFrame en PandasDataFrame
Que faire si vous obtenez "(35, 'Erreur de connexion SSL')" dans pycurl (l'un d'entre eux)
Que faire si vous recevez une erreur d'appel avec trop d'arguments d'entrée à faire et retourner dans un test de golang
Que faire si l'installation de pip ne parvient pas à installer les bibliothèques dépendantes
Que faire si vous obtenez une erreur comme dyld: mach-o, mais construit pour simulator ou dyld: essayez d'exécuter le programme du simulateur en dehors du simulateur (DYLD_ROOT_PATH non défini) dans Golang
Que faire si vous obtenez une erreur Impossible de récupérer le lien métallique pour le référentiel avec yum
[AWS] Que faire lorsque vous souhaitez piper avec Lambda
Que faire si Combinaisons devient «couverture inconnue»
Que faire si vous ne pouvez pas trier les fichiers avec des indices
Que faire lorsqu'une erreur se produit avec import _ssl
[AWS EC2] Paramètres que vous souhaitez effectuer sur Amazon Linux 2
Que faire si `pip install matplot lib` échoue sur Mac
Que faire si vous ne pouvez pas utiliser le WiFi sous Linux
Que faire si Linux VLC ne peut plus tourner