重建opencvpythonwheel安装程序
我正在使用opencv python项目。我想做的是重新创建轮子文件。所以我所做的是这样的:重建opencvpythonwheel安装程序,python,opencv,setup.py,python-wheel,opencv-python,Python,Opencv,Setup.py,Python Wheel,Opencv Python,我正在使用opencv python项目。我想做的是重新创建轮子文件。所以我所做的是这样的: python setup.py bdist_wheel 这将创建一个dist目录,并在其中添加一个wheel文件,然后我将其获取并尝试在Anaconda环境中安装,如下所示: pip install ~/opencv_python-3.4.2+5b36c37-cp36-cp36m-linux_x86_64.whl 这很好,似乎安装得很好。但是当我试着使用它并且 import cv2 我得到一个错误
python setup.py bdist_wheel
这将创建一个dist
目录,并在其中添加一个wheel文件,然后我将其获取并尝试在Anaconda环境中安装,如下所示:
pip install ~/opencv_python-3.4.2+5b36c37-cp36-cp36m-linux_x86_64.whl
这很好,似乎安装得很好。但是当我试着使用它并且
import cv2
我得到一个错误:
ImportError: libwebp.so.5: cannot open shared object file: No such file or directory
我原以为创建控制盘文件会处理所有的依赖关系,但我想知道在生成控制盘之前是否必须做些其他事情来确保所有内容都正确打包
编辑
我比较了来自官方来源的车轮档案和我生成的档案,发现没有包括第三方库。因此,我的zip文件内容是:
['cv2/LICENSE-3RD-PARTY.txt',
'cv2/LICENSE.txt', 'cv2/__init__.py',
'cv2/cv2.cpython-36m-x86_64-linux-gnu.so']
我省略了一些不相关的XML文件。同时,官方档案馆有:
['cv2/__init__.py',
'cv2/cv2.cpython-36m-i386-linux-gnu.so',
'cv2/.libs/libswresample-08248319.so.3.2.100',
'cv2/.libs/libavformat-d485f70f.so.58.17.101',
'cv2/.libs/libvpx-1b5256ac.so.5.0.0',
'cv2/.libs/libz-83853723.so.1.2.3',
'cv2/.libs/libQtGui-55070e59.so.4.8.7',
'cv2/.libs/libavcodec-3b67922d.so.58.21.104',
'cv2/.libs/libswscale-3bf29a6c.so.5.2.100',
'cv2/.libs/libQtTest-0cf8861e.so.4.8.7',
'cv2/.libs/libQtCore-ccf6d197.so.4.8.7',
'cv2/.libs/libavutil-403a4871.so.56.18.102']
我想说,给出必要的系统库(如libwebp dev)的说明是正确的方法,而不是试图对所有内容进行打包,但我不确定这样做是否会等待更好的答案。@unlut但据我所知,整个过程的重点是打包依赖项,以便可以轻松安装它?只有python依赖项,不是系统库,那么为什么官方的系统库会打包成系统库呢?我正在尝试从原始设置源生成相同的控制盘文件。