在mac上安装tflite-model-maker失败



我对Python完全陌生,所以使用PyCharm 2022.1我试图在mac上安装tflite-model-maker,但总是失败。返回的错误有:

An error occurred while building with CMake.
Command:
cmake --build . --target install --config Release --
Install target:
install
Source directory:
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f
Working directory:
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/_skbuild/macosx-10.13-x86_64-3.7/cmake-build
Please check the install target is valid and see CMake's output for more information.
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for opencv-python-headless
Failed to build opencv-python-headless
ERROR: Could not build wheels for opencv-python-headless, which is required to install pyproject.toml-based projects

在整个终端报告的前面:

In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2_numpy.cpp:6:
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2_numpy.hpp:4:
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2.hpp:36:
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:242:9: error: use of undeclared identifier 'PyTuple_GET_SIZE'
if (PyTuple_GET_SIZE(value) != 3) {
^
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:245:13: error: use of undeclared identifier 'PyTuple_GET_ITEM'
title = PyTuple_GET_ITEM(value, 2);
^
2 errors generated.
[1091/1100] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2_highgui.cpp.o
FAILED: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2_highgui.cpp.o
...
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2_highgui.cpp:1:
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2_highgui.hpp:4:
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2.hpp:36:
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:242:9: error: use of undeclared identifier 'PyTuple_GET_SIZE'
if (PyTuple_GET_SIZE(value) != 3) {
^
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:245:13: error: use of undeclared identifier 'PyTuple_GET_ITEM'
title = PyTuple_GET_ITEM(value, 2);
^
2 errors generated.
[1092/1100] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2_util.cpp.o
FAILED: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2_util.cpp.o
...
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2_util.cpp:1:
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2_util.hpp:4:
In file included from /private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-install-_60a3wey/opencv-python-headless_f3f9ce9981dd47e2bd8cf7f7b304f20f/opencv/modules/python/src2/cv2.hpp:36:
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:242:9: error: use of undeclared identifier 'PyTuple_GET_SIZE'
if (PyTuple_GET_SIZE(value) != 3) {
^
/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:245:13: error: use of undeclared identifier 'PyTuple_GET_ITEM'
title = PyTuple_GET_ITEM(value, 2);
^
2 errors generated.
[1093/1100] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidcore_func.avx2.cpp.o
[1094/1100] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/serialization.cpp.o
[1095/1100] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidimgproc_func.avx2.cpp.o
ninja: build stopped: subcommand failed.
File "/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
cmkr.make(make_args, install_target=cmake_install_target, env=env)
File "/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/skbuild/cmaker.py", line 660, in make
self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
File "/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8/overlay/lib/python3.7/site-packages/skbuild/cmaker.py", line 699, in make_impl

目录"/private/var/folders/wc/kmpkxd0x57v762v9j6_xcswh0000gn/T/pip-build-env-pt4hwpl8;不存在。

据我所知,发现错误,进程被停止,创建的文件和文件夹被删除,所以在最后一个命令cmake找不到任何源文件夹。问题显然是为什么会发现这些错误(使用未声明的标识符'PyTuple_GET_SIZE',使用未声明的标识符'PyTuple_GET_ITEM')。这是软件包版本的问题吗?我使用python 3.7并遵循存储在TF需求页面中的信息…

或者我可能遗漏了一个一般选项?

也尝试直接安装openv -python-headless,但结果相同。

我使用PyCharm 2022.1.

如有任何意见,不胜感激。

提前感谢,问候。

也许你得到这个错误是因为你的pip版本。您的pip版本应该大于20.3。您可以使用以下命令检查您的pip版本:

pip -V

然后执行以下命令:

pip install --upgrade pip setuptools wheel

并安装opencv-python。

pip install opencv-python

如果这两个命令解决了你的问题,你就不必执行下面的命令了。

而tflite- modelmaker也需要sndfile。在Mac上,您可以使用以下命令下载此包:

brew install libsndfile

运行这些命令后,您可以尝试安装tflite-model-maker。使用这个命令:

pip install tflite-model-maker

如果此命令引发错误,请尝试安装tflite-model-maker的夜间版本:

pip install tflite-model-maker-nightly

最新更新