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é.
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,
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 installant
Python 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! !! !! !!
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!