【问题标题】:PyTorch and OpenCV not working in same pythonPyTorch 和 OpenCV 不能在同一个 python 中工作
【发布时间】:2021-10-26 09:15:52
【问题描述】:

OpenCV和PyTorch不能用同一个python版本导入。

我已经通过anaconda和OpenCV从源代码构建安装了Pytorch。所以两者不能同时导入:

somnath@somnath-Inspiron-5558:~/LaneDetection/lanedet$ python3
Python 3.8.10 (default, Jun  2 2021, 10:49:15) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'
>>> exit()
somnath@somnath-Inspiron-5558:~/LaneDetection/lanedet$ conda activate
(base) somnath@somnath-Inspiron-5558:~/LaneDetection/lanedet$ python3
Python 3.7.6 (default, Jan  8 2020, 19:59:22) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'

【问题讨论】:

    标签: python opencv pytorch anaconda


    【解决方案1】:

    在为特定的 conda 环境构建时,您需要确保为 cmake 指定正确的选项。

    1. 激活您的 conda 环境 conda activate &lt;name&gt;
    2. 使用conda install numpy 安装numpy
    3. 使用以下选项从build 目录运行cmake
    cmake \
            -D CMAKE_INSTALL_PREFIX=<your choice> \
            -D BUILD_opencv_python2=0 \
            -D PYTHON3_LIBRARY=${CONDA_PREFIX}/lib/libpython3.9.so \
            -D PYTHON_INCLUDE_DIR=${CONDA_PREFIX}/include/python3.9/ \
            -D PYTHON3_EXECUTABLE=${CONDA_PREFIX}/bin/python \
            -D PYTHON3_PACKAGES_PATH=${CONDA_PREFIX}/lib/python3.9/site-packages \
            <path to opencv source>
    

    CONDA_PREFIX 包含当前活动环境的目录。如果您有另一个 python 版本,请更改python3.9

    【讨论】:

    • 太好了,请务必接受答案以标记它解决了您的问题
    猜你喜欢
    • 2021-03-06
    • 2021-11-04
    • 2015-08-13
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多