簡體   English   中英

如何將python3鏈接到opencv的特定版本?

[英]How to link python3 to a specific version of opencv?

我成功編譯安裝了OpenCV 4.5.0,但是用python3導入cv2的時候發現cv2的版本是4.5.1。 像下面的output:

Python 3.6.9 (default, Oct  8 2020, 12:12:24) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.getBuildInformation())

General configuration for OpenCV 4.5.1 =====================================
  Version control:               4.5.1-dirty

  Platform:
    Timestamp:                   2021-01-02T12:47:39Z
    Host:                        Linux 5.4.0-54-generic aarch64
    CMake:                       3.18.4
    CMake generator:             Unix Makefiles
    CMake build tool:            /bin/gmake
    Configuration:               Release

 .........

  Python 3:
    Interpreter:                 /opt/python/cp36-cp36m/bin/python (ver 3.6.12)
    Libraries:                   libpython3.6m.a (ver 3.6.12)
    numpy:                       /tmp/pip-build-env-c03ewnak/overlay/lib/python3.6/site-packages/numpy/core/include (ver 1.19.3)
    install path:                python

  Python (for build):            /bin/python2.7

  Install to:                    /tmp/pip-req-build-zuuo394f/_skbuild/linux-aarch64-3.6/cmake-install
-----------------------------------------------------------------

當我打開/tmp時,我找不到文件夾/pip-req-build-zuuo394f

但是當我使用 python(2.7.17) 時,我得到了 opencv 的正確版本:

Python 2.7.17 (default, Sep 30 2020, 13:38:04) 
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.getBuildInformation())

General configuration for OpenCV 4.5.0 =====================================
  Version control:               unknown

  Extra modules:
    Location (extra):            /home/xana/opencv_contrib/modules
    Version control (extra):     unknown

  Platform:
    Timestamp:                   2021-04-07T04:04:29Z
    Host:                        Linux 4.9.140-tegra aarch64
    CMake:                       3.10.2
    CMake generator:             Unix Makefiles
    CMake build tool:            /usr/bin/make
    Configuration:               RELEASE

.......

  cuDNN:                         YES (ver 8.0.0)

  Python 2:
    Interpreter:                 /usr/bin/python2.7 (ver 2.7.17)
    Libraries:                   /usr/lib/aarch64-linux-gnu/libpython2.7.so (ver 2.7.17)
    numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3)
    install path:                lib/python2.7/dist-packages/cv2/python-2.7

  Python 3:
    Interpreter:                 /usr/bin/python3 (ver 3.6.9)
    Libraries:                   /usr/lib/aarch64-linux-gnu/libpython3.6m.so (ver 3.6.9)
    numpy:                       /usr/lib/python3/dist-packages/numpy/core/include (ver 1.13.3)
    install path:                lib/python3.6/dist-packages/cv2/python-3.6

  Python (for build):            /usr/bin/python2.7

  Install to:                    /usr
-----------------------------------------------------------------

而在 python2 的 cv2 中,cv2 中的所有功能都有效。 那么如何更改python3中的cv2版本呢? 非常感謝!

我遵循@Peter 的建議print(cv2) 我在/home/.local/lib/python3.6/site-packages/cv2文件夾中找到了一個 cv2.so,但我的 OpenCV 4.5.0 安裝在usr/lib/python3.6/dist-packages/cv2中。

然后,我刪除了/home/...中的 cv2 文件夾,我再次import cv2 ,而cv2.__version__現在是 4.5.0 並且所有功能都正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM