繁体   English   中英

无法安装 OpenCV python3.8

[英]Can't install OpenCV python3.8

当我执行这个命令时:

pip3 install opencv-python

我收到以下错误:

  Installing build dependencies ... error                            ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-z4c_sn6u/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel scikit-build cmake pip 'numpy==1.11.3; python_version=='"'"'3.5'"'"'' 'numpy==1.13.3; python_version=='"'"'3.6'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"''       cwd: None
  Complete output (22 lines):
  Ignoring numpy: markers 'python_version == "3.5"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.6"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.7"' don't match your environment
  Collecting setuptools
    Downloading setuptools-49.6.0-py3-none-any.whl (803 kB)
  Collecting wheel
    Downloading wheel-0.35.0-py2.py3-none-any.whl (24 kB)
  Collecting scikit-build
    Using cached scikit_build-0.11.1-py2.py3-none-any.whl (72 kB)
  Collecting cmake
    Using cached cmake-3.18.0.tar.gz (28 kB)
      ERROR: Command errored out with exit status 1:
       command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-95tsmt_u/cmake/setup.py'"'"'; __file__='"'"'/tmp/pip-install-95tsmt_u/cmake/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-95tsmt_u/cmake/pip-egg-info
           cwd: /tmp/pip-install-95tsmt_u/cmake/
      Complete output (5 lines):
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "/tmp/pip-install-95tsmt_u/cmake/setup.py", line 7, in <module>
          from skbuild import setup
      ModuleNotFoundError: No module named 'skbuild'
      ----------------------------------------
  ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-z4c_sn6u/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel scikit-build cmake pip 'numpy==1.11.3; python_version=='"'"'3.5'"'"'' 'numpy==1.13.3; python_version=='"'"'3.6'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"'' Check the logs for full command output.

当我尝试安装 ecapture 时,我使用的是最新的 python 版本

尝试使用升级您的 pip

pip install --upgrade pip

然后运行

pip install opencv-python

pypi web 网站上的安装和使用指南说

Pip 安装失败并出现 ModuleNotFoundError:没有名为“skbuild”的模块?

从 opencv-python 版本 4.3.0.* 开始,manylinux1 轮子被 manylinux2014 轮子取代。 如果您的 pip 太旧,它会尝试使用 4.3.0.38 中引入的新源分发手动构建 OpenCV,因为它不知道如何安装 manylinux2014 轮子。 但是,由于 pip 太旧,源代码构建也会失败,因为它不了解 pyproject.toml 中的构建依赖关系。 要使用新的 manylinux2014 预构建轮子(或从源代码构建),您的 pip 版本必须 >= 19.3。
请升级 pip 与
pip install --upgrade pip

我面临着类似的情况:

Dockerfile:

FROM nvidia/cuda:10.0-cudnn7-runtime-ubuntu18.04

RUN apt-get update -y
RUN apt-get install -y vim curl iputils-ping python3-dev python3-pip libsm6 
libxext6 libxrender-dev python3.6
RUN pip3 install -r /requirements.txt
...

要求.txt:

...
opencv-python
...

在运行docker-compose up &时,我收到此错误:

 Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "/tmp/pip-build-acog3xol/opencv-python/setup.py", line 9, in <module>
     import skbuild
 ModuleNotFoundError: No module named 'skbuild'

我尝试了升级pip3的建议解决方案,但遇到了同样的问题。

对我有用的是修复requirements.txt中的opencv-python版本。 以前,它是拉版本4.4.0.40 我改为将requirements.txt更改为:

...
opencv-python==4.2.0.34
...

如果您将 go 转到 opencv-python PyPi 页面,他们将为常见错误提供故障排除提示。 opencv-python 4.4.0.40

您遇到的错误是:

ModuleNotFoundError: No module named 'skbuild'

常见问题解答下列出了此问题的修复程序,如下所示:


问:Pip 安装失败并ModuleNotFoundError: No module named 'skbuild'?

opencv-python版本 4.3.0.* 开始, manylinux1轮子被manylinux2014轮子取代。 如果您的 pip 太旧,它会尝试使用 4.3.0.38 中引入的新源分发手动构建 OpenCV,因为它不知道如何安装manylinux2014轮子。 但是,由于 pip 太旧,源代码构建也会失败,因为它不了解pyproject.toml中的构建依赖关系。 要使用新的manylinux2014预构建轮子(或从源代码构建),您的pip版本必须 >= 19.3。 请升级pippip install --upgrade pip

TLDR

pip install --upgrade pip

尝试这个:

pip3 安装 cmake --user

pip3 install --升级 pip --user

pip3 安装 opencv-python --user

Python 3.8 也不适用于我。 现在使用 Python 3.7 进行安装,虽然仍在进行中,但看起来还不错:

python3.7 -m pip install opencv-python==4.3.0.38

使用 Python 3.7.6 这是最稳定的版本。 有很多东西没有安装在 3.8 上。

您需要通过 pip 安装 sbuild。 您可以按照以下命令进行操作。 它在我的电脑上工作。

python3 -m pip install scikit-build

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM