[英]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.