tgo*_*eza 6 pip python-3.x onnx ubuntu-20.04
我正在尝试在全新的 Ubuntu 20.04 安装中安装 onnx,但遇到了以下错误。看来我需要 protobuf 编译器,尽管我没有找到任何说明我需要安装该软件包的文档。
\n\n$ sudo python3 -m pip install \'onnx>=1.1.2\'\nCollecting onnx>=1.1.2\n Using cached onnx-1.6.0.tar.gz (3.1 MB)\nRequirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from onnx>=1.1.2) (1.18.3)\nRequirement already satisfied: protobuf in /usr/lib/python3/dist-packages (from onnx>=1.1.2) (3.6.1)\nRequirement already satisfied: six in /usr/lib/python3/dist-packages (from onnx>=1.1.2) (1.14.0)\nRequirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.8/dist-packages (from onnx>=1.1.2) (3.7.4.2)\nBuilding wheels for collected packages: onnx\n Building wheel for onnx (setup.py) ... error\n ERROR: Command errored out with exit status 1:\n command: /usr/bin/python3 -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'/tmp/pip-install-akurq0e8/onnx/setup.py\'"\'"\'; __file__=\'"\'"\'/tmp/pip-install-akurq0e8/onnx/setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' bdist_wheel -d /tmp/pip-wheel-zmzgb0kg\n cwd: /tmp/pip-install-akurq0e8/onnx/\n Complete output (64 lines):\n fatal: not a git repository (or any of the parent directories): .git\n running bdist_wheel\n running build\n running build_py\n running create_version\n running cmake_build\n -- The C compiler identification is GNU 9.3.0\n -- The CXX compiler identification is GNU 9.3.0\n -- Check for working C compiler: /usr/bin/cc\n -- Check for working C compiler: /usr/bin/cc -- works\n -- Detecting C compiler ABI info\n -- Detecting C compiler ABI info - done\n -- Detecting C compile features\n -- Detecting C compile features - done\n -- Check for working CXX compiler: /usr/bin/c++\n -- Check for working CXX compiler: /usr/bin/c++ -- works\n -- Detecting CXX compiler ABI info\n -- Detecting CXX compiler ABI info - done\n -- Detecting CXX compile features\n -- Detecting CXX compile features - done\n Generated: /tmp/pip-install-akurq0e8/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto\n CMake Error at CMakeLists.txt:248 (message):\n Protobuf compiler not found\n Call Stack (most recent call first):\n CMakeLists.txt:279 (relative_protobuf_generate_cpp)\n\n\n -- Configuring incomplete, errors occurred!\n See also "/tmp/pip-install-akurq0e8/onnx/.setuptools-cmake-build/CMakeFiles/CMakeOutput.log".\n Traceback (most recent call last):\n File "<string>", line 1, in <module>\n File "/tmp/pip-install-akurq0e8/onnx/setup.py", line 315, in <module>\n setuptools.setup(\n File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup\n return distutils.core.setup(**attrs)\n File "/usr/lib/python3.8/distutils/core.py", line 148, in setup\n dist.run_commands()\n File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands\n self.run_command(cmd)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 223, in run\n self.run_command(\'build\')\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/usr/lib/python3.8/distutils/command/build.py", line 135, in run\n self.run_command(cmd_name)\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/tmp/pip-install-akurq0e8/onnx/setup.py", line 209, in run\n self.run_command(\'cmake_build\')\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/tmp/pip-install-akurq0e8/onnx/setup.py", line 195, in run\n subprocess.check_call(cmake_args)\n File "/usr/lib/python3.8/subprocess.py", line 364, in check_call\n raise CalledProcessError(retcode, cmd)\n subprocess.CalledProcessError: Command \'[\'/usr/bin/cmake\', \'-DPYTHON_INCLUDE_DIR=/usr/include/python3.8\', \'-DPYTHON_EXECUTABLE=/usr/bin/python3\', \'-DBUILD_ONNX_PYTHON=ON\', \'-DCMAKE_EXPORT_COMPILE_COMMANDS=ON\', \'-DONNX_NAMESPACE=onnx\', \'-DPY_EXT_SUFFIX=.cpython-38-x86_64-linux-gnu.so\', \'-DCMAKE_BUILD_TYPE=Release\', \'-DONNX_ML=1\', \'/tmp/pip-install-akurq0e8/onnx\']\' returned non-zero exit status 1.\n ----------------------------------------\n ERROR: Failed building wheel for onnx\n Running setup.py clean for onnx\nFailed to build onnx\nInstalling collected packages: onnx\n Running setup.py install for onnx ... error\n ERROR: Command errored out with exit status 1:\n command: /usr/bin/python3 -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'/tmp/pip-install-akurq0e8/onnx/setup.py\'"\'"\'; __file__=\'"\'"\'/tmp/pip-install-akurq0e8/onnx/setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' install --record /tmp/pip-record-txzgh5wg/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/onnx\n cwd: /tmp/pip-install-akurq0e8/onnx/\n Complete output (52 lines):\n fatal: not a git repository (or any of the parent directories): .git\n running install\n running build\n running build_py\n running create_version\n running cmake_build\n Generated: /tmp/pip-install-akurq0e8/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto\n CMake Error at CMakeLists.txt:248 (message):\n Protobuf compiler not found\n Call Stack (most recent call first):\n CMakeLists.txt:279 (relative_protobuf_generate_cpp)\n\n\n -- Configuring incomplete, errors occurred!\n See also "/tmp/pip-install-akurq0e8/onnx/.setuptools-cmake-build/CMakeFiles/CMakeOutput.log".\n Traceback (most recent call last):\n File "<string>", line 1, in <module>\n File "/tmp/pip-install-akurq0e8/onnx/setup.py", line 315, in <module>\n setuptools.setup(\n File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup\n return distutils.core.setup(**attrs)\n File "/usr/lib/python3.8/distutils/core.py", line 148, in setup\n dist.run_commands()\n File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands\n self.run_command(cmd)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 61, in run\n return orig.install.run(self)\n File "/usr/lib/python3.8/distutils/command/install.py", line 589, in run\n self.run_command(\'build\')\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/usr/lib/python3.8/distutils/command/build.py", line 135, in run\n self.run_command(cmd_name)\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/tmp/pip-install-akurq0e8/onnx/setup.py", line 209, in run\n self.run_command(\'cmake_build\')\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/tmp/pip-install-akurq0e8/onnx/setup.py", line 195, in run\n subprocess.check_call(cmake_args)\n File "/usr/lib/python3.8/subprocess.py", line 364, in check_call\n raise CalledProcessError(retcode, cmd)\n subprocess.CalledProcessError: Command \'[\'/usr/bin/cmake\', \'-DPYTHON_INCLUDE_DIR=/usr/include/python3.8\', \'-DPYTHON_EXECUTABLE=/usr/bin/python3\', \'-DBUILD_ONNX_PYTHON=ON\', \'-DCMAKE_EXPORT_COMPILE_COMMANDS=ON\', \'-DONNX_NAMESPACE=onnx\', \'-DPY_EXT_SUFFIX=.cpython-38-x86_64-linux-gnu.so\', \'-DCMAKE_BUILD_TYPE=Release\', \'-DONNX_ML=1\', \'/tmp/pip-install-akurq0e8/onnx\']\' returned non-zero exit status 1.\n ----------------------------------------\nERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'/tmp/pip-install-akurq0e8/onnx/setup.py\'"\'"\'; __file__=\'"\'"\'/tmp/pip-install-akurq0e8/onnx/setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' install --record /tmp/pip-record-txzgh5wg/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/onnx Check the logs for full command output.\nRun Code Online (Sandbox Code Playgroud)\n\n然后我尝试安装 protobuf 编译器 ( sudo apt install protobuf-compiler),现在我收到另一个错误,这似乎表明安装过程中的某些脚本需要 python 二进制文件。由于这是 Ubuntu 20.04,因此未安装 python 2.7 并且不存在 python 二进制文件。
sudo pip3 install \'onnx>=1.1.2\'\nCollecting onnx>=1.1.2\n Using cached onnx-1.6.0.tar.gz (3.1 MB)\nRequirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from onnx>=1.1.2) (1.18.3)\nRequirement already satisfied: protobuf in /usr/lib/python3/dist-packages (from onnx>=1.1.2) (3.6.1)\nRequirement already satisfied: six in /usr/lib/python3/dist-packages (from onnx>=1.1.2) (1.14.0)\nRequirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.8/dist-packages (from onnx>=1.1.2) (3.7.4.2)\nBuilding wheels for collected packages: onnx\n Building wheel for onnx (setup.py) ... error\n ERROR: Command errored out with exit status 1:\n command: /usr/bin/python3 -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'/tmp/pip-install-t7al85w7/onnx/setup.py\'"\'"\'; __file__=\'"\'"\'/tmp/pip-install-t7al85w7/onnx/setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' bdist_wheel -d /tmp/pip-wheel-30aavuu6\n cwd: /tmp/pip-install-t7al85w7/onnx/\n Complete output (135 lines):\n fatal: not a git repository (or any of the parent directories): .git\n running bdist_wheel\n running build\n running build_py\n running create_version\n running cmake_build\n -- The C compiler identification is GNU 9.3.0\n -- The CXX compiler identification is GNU 9.3.0\n -- Check for working C compiler: /usr/bin/cc\n -- Check for working C compiler: /usr/bin/cc -- works\n -- Detecting C compiler ABI info\n -- Detecting C compiler ABI info - done\n -- Detecting C compile features\n -- Detecting C compile features - done\n -- Check for working CXX compiler: /usr/bin/c++\n -- Check for working CXX compiler: /usr/bin/c++ -- works\n -- Detecting CXX compiler ABI info\n -- Detecting CXX compiler ABI info - done\n -- Detecting CXX compile features\n -- Detecting CXX compile features - done\n -- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1")\n Generated: /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto\n Generated: /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-operators-ml.proto\n CMake Warning at CMakeLists.txt:394 (find_package):\n By not providing "Findpybind11.cmake" in CMAKE_MODULE_PATH this project has\n asked CMake to find a package configuration file provided by "pybind11",\n but CMake did not find one.\n\n Could not find a package configuration file provided by "pybind11"\n (requested version 2.2) with any of the following names:\n\n pybind11Config.cmake\n pybind11-config.cmake\n\n Add the installation prefix of "pybind11" to CMAKE_PREFIX_PATH or set\n "pybind11_DIR" to a directory containing one of the above files. If\n "pybind11" provides a separate development package or SDK, be sure it has\n been installed.\n\n\n --\n -- ******** Summary ********\n -- CMake version : 3.16.3\n -- CMake command : /usr/bin/cmake\n -- System : Linux\n -- C++ compiler : /usr/bin/c++\n -- C++ compiler version : 9.3.0\n -- CXX flags : -Wnon-virtual-dtor\n -- Build type : Release\n -- Compile definitions :\n -- CMAKE_PREFIX_PATH :\n -- CMAKE_INSTALL_PREFIX : /usr/local\n -- CMAKE_MODULE_PATH :\n --\n -- ONNX version : 1.6.0\n -- ONNX NAMESPACE : onnx\n -- ONNX_BUILD_TESTS : OFF\n -- ONNX_BUILD_BENCHMARKS : OFF\n -- ONNX_USE_LITE_PROTO : OFF\n -- ONNXIFI_DUMMY_BACKEND : OFF\n -- ONNXIFI_ENABLE_EXT : OFF\n --\n -- Protobuf compiler : /usr/bin/protoc\n -- Protobuf includes : /usr/include\n -- Protobuf libraries : /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread\n -- BUILD_ONNX_PYTHON : ON\n -- Python version :\n -- Python executable : /usr/bin/python3\n -- Python includes : /usr/include/python3.8\n -- Configuring done\n -- Generating done\n -- Build files have been written to: /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build\n Scanning dependencies of target gen_onnx_proto\n Scanning dependencies of target onnxifi_loader\n Scanning dependencies of target onnxifi_dummy\n [ 1%] Building C object CMakeFiles/onnxifi_dummy.dir/onnx/onnxifi_dummy.c.o\n [ 3%] Building C object CMakeFiles/onnxifi_loader.dir/onnx/onnxifi_loader.c.o\n [ 4%] Running gen_proto.py on onnx/onnx.in.proto\n /tmp/pip-install-t7al85w7/onnx/onnx/onnxifi_dummy.c: In function \xe2\x80\x98onnxGetExtensionFunctionAddress\xe2\x80\x99:\n /tmp/pip-install-t7al85w7/onnx/onnx/onnxifi_dummy.c:173:21: warning: assignment to \xe2\x80\x98onnxExtensionFunctionPointer\xe2\x80\x99 {aka \xe2\x80\x98int (*)(void)\xe2\x80\x99} from incompatible pointer type \xe2\x80\x98onnxStatus (*)(void *, const char *, onnxStatus (**)(void))\xe2\x80\x99 {aka \xe2\x80\x98int (*)(void *, const char *, int (**)(void))\xe2\x80\x99} [-Wincompatible-pointer-types]\n 173 | *function = &onnxGetExtensionFunctionAddress;\n | ^\n /tmp/pip-install-t7al85w7/onnx/onnx/onnxifi_dummy.c:176:21: warning: assignment to \xe2\x80\x98onnxExtensionFunctionPointer\xe2\x80\x99 {aka \xe2\x80\x98int (*)(void)\xe2\x80\x99} from incompatible pointer type \xe2\x80\x98onnxStatus (*)(void *, uint32_t, const onnxTensorDescriptorV1 *, uint32_t, const onnxTensorDescriptorV1 *, onnxMemoryFenceV1 *)\xe2\x80\x99 {aka \xe2\x80\x98int (*)(void *, unsigned int, const struct onnxTensorDescriptorV1 *, unsigned int, const struct onnxTensorDescriptorV1 *, struct onnxMemoryFenceV1 *)\xe2\x80\x99} [-Wincompatible-pointer-types]\n 176 | *function = &onnxSetIOAndRunGraph;\n | ^\n Processing /tmp/pip-install-t7al85w7/onnx/onnx/onnx.in.proto\n Writing /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto\n Writing /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto3\n generating /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx_pb.py\n [ 6%] Running C++ protocol buffer compiler on /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto\n [ 8%] Linking C static library libonnxifi_loader.a\n /usr/bin/env: \xe2\x80\x98python\xe2\x80\x99: No such file or directory\n --mypy_out: protoc-gen-mypy: Plugin failed with status code 127.\n make[2]: *** [CMakeFiles/gen_onnx_proto.dir/build.make:62: onnx/onnx-ml.pb.cc] Error 1\n make[1]: *** [CMakeFiles/Makefile2:250: CMakeFiles/gen_onnx_proto.dir/all] Error 2\n make[1]: *** Waiting for unfinished jobs....\n [ 9%] Linking C shared library libonnxifi_dummy.so\n [ 9%] Built target onnxifi_loader\n [ 9%] Built target onnxifi_dummy\n make: *** [Makefile:130: all] Error 2\n Traceback (most recent call last):\n File "<string>", line 1, in <module>\n File "/tmp/pip-install-t7al85w7/onnx/setup.py", line 315, in <module>\n setuptools.setup(\n File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup\n return distutils.core.setup(**attrs)\n File "/usr/lib/python3.8/distutils/core.py", line 148, in setup\n dist.run_commands()\n File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands\n self.run_command(cmd)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 223, in run\n self.run_command(\'build\')\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/usr/lib/python3.8/distutils/command/build.py", line 135, in run\n self.run_command(cmd_name)\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/tmp/pip-install-t7al85w7/onnx/setup.py", line 209, in run\n self.run_command(\'cmake_build\')\n File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command\n self.distribution.run_command(command)\n File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command\n cmd_obj.run()\n File "/tmp/pip-install-t7al85w7/onnx/setup.py", line 203, in run\n subprocess.check_call(build_args)\n File "/usr/lib/python3.8/subprocess.py", line 364, in check_call\n raise CalledProcessError(retcode, cmd)\n subprocess.CalledProcessError: Command \'[\'/usr/bin/cmake\', \'--build\', \'.\', \'--\', \'-j\', \'12\']\' returned non-zero exit status 2.\n ----------------------------------------\n ERROR: Failed building wheel for onnx\n Running setup.py clean for onnx\nFailed to build onnx\nInstalling collected packages: onnx\n Running setup.py install for onnx ... error\n ERROR: Command errored out with exit status 1:\n command: /usr/bin/python3 -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'/tmp/pip-install-t7al85w7/onnx/setup.py\'"\'"\'; __file__=\'"\'"\'/tmp/pip-install-t7al85w7/onnx/setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' install --record /tmp/pip-record-b60n_z7m/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/onnx\n cwd: /tmp/pip-install-t7al85w7/onnx/\n Complete output (107 lines):\n fatal: not a git repository (or any of the parent directories): .git\n running install\n running build\n running build_py\n running create_version\n running cmake_build\n Generated: /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-ml.proto\n Generated: /tmp/pip-install-t7al85w7/onnx/.setuptools-cmake-build/onnx/onnx-operators-ml.proto\n CMake Warning at CMakeLists.txt:394 (find_package):\n
总之,要在 Ubuntu 20.04 中成功安装 onnx,您需要:
1)安装protobuf编译器:sudo apt install protobuf-compiler
2) 建立从 python3 到 python 的链接:sudo ln -s /usr/bin/python3 /usr/bin/python
注意:也许我错过了另一个依赖项,我在安装 OpenVINO 依赖项时已经安装了一堆其他软件包。
| 归档时间: |
|
| 查看次数: |
16774 次 |
| 最近记录: |