如何才能正确安装 python 3.4 的 regex 包?

如何才能正确安装 python 3.4 的 regex 包?

我遇到了一个小问题(或者说一个大问题?)。我想安装适用于 Python 3.4 的 regex 包。但是当我使用 pip 或我们的安装方法时,出现了错误:

universe@universe-AOD270:~/Downloads/regex-2016.04.25$ python setup.py
安装--用户
正在安装
正在运行构建
运行build_py
创建构建
创建 build/lib.linux-x86_64-2.7
复制 Python2/regex.py -> build/lib.linux-x86_64-2.7
复制 Python2/_regex_core.py -> build/lib.linux-x86_64-2.7
复制 Python2/test_regex.py -> build/lib.linux-x86_64-2.7
运行 build_ext
构建“_regex”扩展
创建 build/temp.linux-x86_64-2.7
创建 build/temp.linux-x86_64-2.7/Python2
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c Python2/_regex.c -o build/temp.linux-x86_64-2.7/Python2/_regex.o
****Python2/_regex.c:46:20:致命错误:Python.h:没有这样的文件或目录
编译终止。****
错误:命令‘x86_64-linux-gnu-gcc’失败,退出状态为 1

我认为出现此问题的原因是安装程序尝试将此包安装到 Python2.7 目录中,但我不确定。我尝试 pip 安装,从 Python 解释器启动,通过终端运行,但没有成功。请帮我解决这个问题。提前致谢。

答案1

我也遇到过这个错误,然后我发现缺少 python3-dev,但当我运行命令时它已经安装了。然后我使用以下命令检查它安装了哪个 python 版本 -

sudo find / -name "Python.h"

输出如下 -

python2.7/Python.h
python3.5/Python.h

然后我使用以下命令检查正在运行的 Python 版本以安装该包

python3 -V

输出 -

Python 3.6.7

因此要安装 python3-dev,请使用以下命令

sudo apt-get install python3.6-dev 

只需将其替换为你的 python3 或 python2 版本

答案2

这是因为您的 Python 版本没有相应的python-dev软件包。python3-dev

只需通过“pip”或“pip3”包安装程序安装它们并享受它!

请注意,如果您发现提到的软件包已安装但问题仍然存在!您必须通过以下方式在文件系统中查找“Python.h”文件:

sudo find / -name "Python.h"

然后将包含以下内容的列出的路径添加Python.h到您的环境变量中:C_INCLUDE_PATH

export C_INCLUDE_PATH=/usr/include/python3.6m/

现在重新尝试安装并享受吧!

相关内容