0

我正在尝试在 pythonanywhere 上部署我的 Web 应用程序,并且我需要带有 cotrib 模块的 OpenCv。因此,我使用以下 cmake 配置对其进行了编译:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_python3=yes ..

因为我不能在 pythonanywhere bash 上成为 root,所以我使用以下命令安装了 OpenCv DESTDIR

make install DESTDIR=/home/pathToInstallationDir...

安装没有问题,但是python控制台还不能import cv2。感谢这个回答的第 7 点:为什么 cv2.so 在 opencv 安装后丢失?我导出了 python 路径,它现在尝试import cv2使用以下错误日志:

     File "<stdin>", line 1, in <module>
        File "/home/pathToInstallationDir.../usr/local/lib/python3.6/site-packages/cv2/__init__.py", line 96, in <module>
        bootstrap()
        File "/home/spir/pathToInstallationDir.../usr/local/lib/python3.6/site-packages/cv2/__init__.py", line 86, in bootstrap
        import cv2
    ImportError: libopencv_hdf.so.4.4: cannot open shared object file: No such file or directory

所以我猜在__init__.py模块中指定了一个环境变量,python 解释器遵循它来查找.solib 中的所有内容,目前它是错误的,因为我寻找libopencv_hdf.so.4.4并位于 lib 中,因为它应该是。

我对么?如果是,哪个变量是有罪的变量,我该如何更改它?

如果不是,那么该问题的正确诊断是什么?

请帮忙。

4

0 回答 0