Python 致命错误:';arrayobject.h';使用pyenv时未找到文件
我正在尝试使用以下软件包:我还使用了Python 致命错误:';arrayobject.h';使用pyenv时未找到文件,python,numpy,pipenv,pyenv,Python,Numpy,Pipenv,Pyenv,我正在尝试使用以下软件包:我还使用了Pipenv和pyenv。我已经用pyenv安装了3.6-dev,并且正在用pipenv--python~/.pyenv/versions/3.6-dev/bin/python3使用它 当我安装pypesqpipenv时,会出现大量错误,包括: file numpy.py (for module numpy) not found warning: build_py: byte-compiling is disabled, skipping.
Pipenv
和pyenv
。我已经用pyenv
安装了3.6-dev
,并且正在用pipenv--python~/.pyenv/versions/3.6-dev/bin/python3
使用它
当我安装pypesqpipenv时,会出现大量错误,包括:
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
如果这很重要的话,我在OSX上。任何帮助。我使用pyenv
在Linux-Mint 19.2
上安装Python 3.6-dev
,在安装过程中发现了两个问题pypesq
:
1.它无法从模块numpy
我使用了Ubuntu论坛的答案
我必须找到带有arrayobject.h
的文件夹,并将其添加到环境变量CFLAGS
中,这样以后C/C++
编译器将使用它来查找arrayobject.h
-ie(直接在终端中)
我正在为python3.6-dev
安装pypesq
,但是我使用了numpy
的路径,安装在python3.7
中,没有问题
顺便说一句:为了找到它,我使用了shell命令locate
,这不是标准命令,但它比find
2.它找不到pesq.h
而不是使用我昨天更新的pip
服务器上的模块
pipenv install https://github.com/vBaiCai/python-pesq/archive/master.zip
之后,我可以在Python3.6-dev
中导入它,但我没有测试它是否正常工作。它尝试用C/C++编译代码,但它需要.h文件——我发现'arrayobject.h'
可以是模块numpy
的一部分,所以您需要它的源代码或至少它的文件.h。或者,如果你安装了模块numpy
,那么它就会有这些文件。我的Pipfile
中有numpy
,错误显示它找不到numpy
,所以你可能用错误的Python运行它。完美-这很有效。只有在第一次安装Pipenv
时我才需要导出吗?是的,export
只在安装pypesq
时需要,因为它编译的C/C++代码需要文件arrayobject.h
中的信息(可能需要访问同样在C/C++中创建的numpy
)。
pipenv install https://github.com/vBaiCai/python-pesq/archive/master.zip