签出存储库和子模块opencv包含在子模块中,并且更新了版本
在新的opencv版本发布后由维护人员手动执行
contrib模块也包括在子模块中
从源代码中查找opencv版本
安装依赖项(numpy)
构建opencv测试被禁用,否则生成时间增加太多
每个生成组合有4个生成矩阵项:有无控制模块,有无gui(无头)
Linux版本在ManyLinux Docker容器(CentOS 5)中运行
将每个.pyd/.so文件复制到此项目的cv2文件夹中,然后
生成轮子使用auditwheel和delocate检查linux和macos控制盘
安装生成的车轮
测试python是否可以导入库并运行一些健全性检查
使用tween将生成的控制盘上载到pypi(仅在发布版本中)< > >
cv2.pyd/.so文件通常被复制到站点包中。为了避免污染根文件夹,这个包将静态构建的二进制文件包装到cv2包中,包中的文件正确处理导入逻辑。
由于所有包都使用上述相同的cv2名称空间,因此在从opencv python切换到opencv contrib python之前卸载另一个包。
许可
opencv python包(存储库中的脚本)在mit许可下提供。
opencv本身可以在3条bsd许可证下获得。
所有车轮均配有ffmpeg许可证,许可证位于lgplv2.1
Linux和MacOS Wheels随附qt 4.8.7许可证,许可证位于lgplv2.1
版本控制
find_version.py脚本从opencv源搜索版本信息,并将特定于此存储库的修订号附加到版本字符串中。
发布
当一个新的标记被推送到主分支时,发布并上传到pypi。这些标记区分了包(这个repo可能有修改,但opencv版本保持不变),应该按顺序递增。实际上,发行版本号如下:
cv_major.cv_minor.cv_revision.package_revision例如3.1.0.0
开发构建
将建立对此回购的主分支的每个提交。可能的生成工件使用本地版本标识符:
cvu major.cvu minor.cvu revision+git\u hash这个回购协议e.g.3.1.0+14a8d39
这些工件不能也不会上载到PYPI。
Manylinux车轮
Linux轮子是使用manylinux构建的。这些轮子对于大多数发行版(使用gnu c标准库)来说都是现成的,因为它们是根据glibc的旧版本构建的。
默认的manylinux图像已经用一些opencv依赖项进行了扩展。有关详细信息,请参见docker文件夹。
支持的Python版本
Python2.7是2.x系列中唯一受支持的版本。Python2.7支持将在2019年底取消。
python 3.x版本遵循numpy版本。例如,numpy不再支持python 3.3,因此在opencv python中也不再支持它了。
目前,提供了以下python版本的版本: