致命错误:使用pyenv时找不到'arrayobject.h'文件

问题描述 投票:0回答:1

我正在尝试使用以下程序包: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上。任何帮助。

python numpy pipenv pyenv
1个回答
0
投票

我使用pyenvPython 3.6-dev上安装Linux Mint 19.2,并且在安装pypesq时发现了两个问题:

1。从模块arrayobject.h]中找不到numpy

我使用了来自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"

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

BTW:

要找到它,我使用了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中将其导入

© www.soinside.com 2019 - 2024. All rights reserved.