cmake安装后在Pythonywhere上导入OpenCv

2024-09-28 01:28:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在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 ..

由于我不能成为Pythonywhere bash的root用户,因此我使用DESTDIR安装了OpenCv:

make install DESTDIR=/home/pathToInstallationDir...

安装没有问题,但python控制台尚未import cv2。多亏了本文的第7点:Why cv2.so missing after opencv installed?我导出了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解释器遵循该变量查找lib中的所有.so,但目前它是错误的,因为我查找了libopencv_hdf.so.4.4,并按原样位于lib中

我说得对吗?如果是,哪一个变量是有罪的变量,我如何更改它

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

请帮忙


Tags: 模块inpyimportbuildhomeinitlib

热门问题