我正在运行 Windows Subsystem Linux (WSL) 来运行 GridDB。我正在尝试安装 Python 客户端版本 0.8.5(可在 https://github.com/griddb/python_client/archive/0.8.5.tar.gz 获取),按照 GridDB 文档(可在https://docs.griddb.net/latest/gettingstarted/python/#using-python.
但是,当我运行 make 命令时,出现以下错误:
$ cd python_client-0.8.5 $ 制作
g++ -fPIC -std=c++0x -g -O2 -c -o src/TimeSeriesProperties.o -Iinclude -Isrc src/TimeSeriesProperties.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/ContainerInfo.o -Iinclude -Isrc src/ContainerInfo.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/AggregationResult.o -Iinclude -Isrc src/AggregationResult.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/Container.o -Iinclude -Isrc src/Container.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/Store.o -Iinclude -Isrc src/Store.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/StoreFactory.o -Iinclude -Isrc src/StoreFactory.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/PartitionController.o -Iinclude -Isrc src/PartitionController.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/Query.o -Iinclude -Isrc src/Query.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/QueryAnalysisEntry.o -Iinclude -Isrc src/QueryAnalysisEntry.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/RowKeyPredicate.o -Iinclude -Isrc src/RowKeyPredicate.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/RowList.o -Iinclude -Isrc src/RowList.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/RowSet.o -Iinclude -Isrc src/RowSet.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/TimestampUtils.o -Iinclude -Isrc src/TimestampUtils.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/Field.o -Iinclude -Isrc src/Field.cpp
g++ -fPIC -std=c++0x -g -O2 -c -o src/Util.o -Iinclude -Isrc src/Util.cpp
swig -DSWIGWORDSIZE64 -outdir 。 -o src/griddb_python.cxx -c++ -python src/griddb.i
g++ -fPIC -std=c++0x -g -O2 -c -o src/griddb_python.o -Iinclude -Isrc -I/usr/include/python3.12 -I/usr/include/python3.12 -I/ usr/local/lib/python3.12/dist-packages/numpy/core/include src/griddb_python.cxx
src/griddb_python.cxx:3185:10: 致命错误:numpy/arrayobject.h:没有这样的文件或目录
3185 | 3185 #包括
有什么想法吗?
我尝试通过 apt 安装 numpy 和 pandas,但仍然遇到相同的错误。 $ sudo apt install python3-numpy $ sudo apt install python3-pandas
验证 Makefile 后,我能够查明问题所在。第 17 行(如下所示)检索站点包列表并选择第一个。 NUMPY_FLAGS := $(shell python3 -c "导入站点; print(site.getsitepackages()[0])")
运行命令 python3 -c "import site; print(site.getsitepackages()[0])" 返回以下内容: ['/usr/local/lib/python3.12/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.12/dist-packages']
但是,在我的 WSL Ubuntu 安装中,python3.12 下没有目录“dist-packages”。该目录位于 python3 下,这就是导致错误的原因,因为它尝试包含“-I/usr/local/lib/python3.12/dist-packages/numpy/core/include”。
解决方案是编辑 Makefile 并将第 17 行更改为 NUMPY_FLAGS := $(shell python3 -c "import site; print(site.getsitepackages()[1])") 这样它就会选择列表中的第二项, '/usr/lib/python3/dist-packages',从而防止错误发生。