fatal error: 'arrayobject.h' file not found when using pyenv

fatal error: 'arrayobject.h' file not found when using pyenv

我正在尝试使用以下软件包:https://github.com/vBaiCai/python-pesq 并且我还在使用 Pipenvpyenv。我已经安装了 3.6-devpyenv 并且正在使用 pipenv --python ~/.pyenv/versions/3.6-dev/bin/python3.

当我执行 pipenv install pypesq 时,我遇到了很多错误,包括:

    file numpy.py (for module numpy) not found
    warning: build_py: byte-compiling is disabled, skipping.

    running build_ext
    building 'pesq_core' extension
    creating build/temp.macosx-10.15-x86_64-3.6
    creating build/temp.macosx-10.15-x86_64-3.6/pypesq
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/Users/shamoon/.pyenv/versions/3.6-dev/include/python3.6m -I/Users/shamoon/.pyenv/versions/3.6-dev/lib/python3.6/site-packages/numpy/core/include -c pypesq/pesq.c -o build/temp.macosx-10.15-x86_64-3.6/pypesq/pesq.o
    pypesq/pesq.c:2:10: fatal error: 'arrayobject.h' file not found
    #include "arrayobject.h"
             ^~~~~~~~~~~~~~~
    1 error generated.
    error: command 'clang' failed with exit status 1

如果重要的话,我在 OS X。任何帮助。

我用pyenvLinux Mint 19.2上安装了Python 3.6-dev,我在安装过程中发现了两个问题pypesq


1。它无法从模块 numpy

中找到 arrayobject.h

我使用了来自 Ubuntu 论坛的答案 fatal error: numpy/arrayobject.h: No such file or directory

我必须找到带有 arrayobject.h 的文件夹并将其添加到环境变量 CFLAGS 以便稍后 C/C++ 编译器将使用它来查找 arrayobject.h- 即。 (直接在终端)

export CFLAGS="-I /usr/local/lib/python3.7/dist-packages/numpy/core/include/numpy/ $CFLAGS"

我正在为 Python 3.6-dev 安装 pypesq,但我使用 Python 3.7 中安装的 numpy 的路径,没有问题。

顺便说一句: 为了找到它,我使用了 shell 命令 locate 这不是标准命令,但它比 find 工作得更快


2。找不到 pesq.h

我没有使用来自 pip 服务器的模块,而是使用了昨天更新的 code from GitHub

pipenv install https://github.com/vBaiCai/python-pesq/archive/master.zip

之后我可以在 Python 3.6-dev 中导入它,但我没有测试它是否正常工作。