致命错误:Python.h:没有那个文件或目录,python-Levenshtein 安装

roa*_*eef 3 python gcc python-3.x

首先,我正在使用 Python 3.7 处理 Amazon EC2 实例,Amazon linux 版本 2 AMI。

我正在尝试使用以下命令安装 python-Levenshtein 包:

pip3 install python-Levenshtein --user
Run Code Online (Sandbox Code Playgroud)

我得到了一个相当大的错误,关键部分是;

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/usr/include/python3.7m -c Levenshtein/_levenshtein.c -o build/temp.linux-x86_64-3.7/Levenshtein/_levenshtein.o
Levenshtein/_levenshtein.c:99:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

和:

Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-m87wdfsg/python-Levenshtein/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-w3meudfd-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-m87wdfsg/python-Levenshtein/
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多很多解决方案,主要是这样的: 错误:安装 eventlet 时命令 'gcc' 失败,退出状态为 1

编辑

试过这个...

1) sudo yum install python-devel (no change)
2) reinstalling GCC (no change)
3) spinning up a clean EC2 instance (same error)
4) pip install python-dev-tools (now gives me the error repeated 2x)
5) attempting to find Python.h using 'locate "Python.h"' (nothing)
6) sudo yum list python37-devel (error: no matching packages)
Run Code Online (Sandbox Code Playgroud)

roa*_*eef 9

感谢Charles,答案如下:

须藤 yum 安装 python3-devel