zhangwm-pt / prebuilt_whl

15 stars 3 forks source link

你好,我想问一个问题? #4

Closed wuboy19 closed 11 months ago

wuboy19 commented 11 months ago

编译好的whl是不是只要在rv_debian_build:1.2能够安装上的话理论是在lichepi 4a也可以安装上

zhangwm-pt commented 11 months ago

是的。一般来说python版本和c库版本能对齐就能安装。

wuboy19 commented 11 months ago

我刚刚编译了一个dlib库尝试了一下成功了,现在试试编译opencv库,十分感谢大佬,是不是我在编译前先安装好那些图像库就生成的whl文件包含图像,不用去修改cmake的参数,默认就可以是吗

zhangwm-pt commented 11 months ago

我刚刚编译了一个dlib库尝试了一下成功了,现在试试编译opencv库,十分感谢大佬,是不是我在编译前先安装好那些图像库就生成的whl文件包含图像,不用去修改cmake的参数,默认就可以是吗

嗯。opencv 会自动检查当前环境下是否有可用的图像库。通常也会在做编译配置时通过打印的方式提醒

wuboy19 commented 11 months ago

你好,就是我发现有的可以安装,有时候就卡在这里了,我想问一下这个是我docker的问题吗,我也换源试过还是会有下面那种问题 RErr:1 http://deb.debian.org/debian-ports sid/main riscv64 libcap2-bin riscv64 1:2.66-4 Could not connect to 11.159.135.28:3128 (11.159.135.28), connection timed out Err:2 http://deb.debian.org/debian-ports sid/main riscv64 iputils-ping riscv64 3:20221126-1 Unable to connect to 11.159.135.28:3128: Err:3 http://deb.debian.org/debian-ports sid/main riscv64 libpam-cap riscv64 1:2.66-4 Unable to connect to 11.159.135.28:3128: E: Failed to fetch http://deb.debian.org/debian-ports/pool-riscv64/main/libc/libcap2/libcap2-bin_2.66-4_riscv64.deb Could not connect to 11.159.135.28:3128 (11.159.135.28), connection timed out E: Failed to fetch http://deb.debian.org/debian-ports/pool-riscv64/main/i/iputils/iputils-ping_20221126-1_riscv64.deb Unable to connect to 11.159.135.28:3128: E: Failed to fetch http://deb.debian.org/debian-ports/pool-riscv64/main/libc/libcap2/libpam-cap_2.66-4_riscv64.deb Unable to connect to 11.159.135.28:3128: E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

zhangwm-pt commented 11 months ago

你好,就是我发现有的可以安装,有时候就卡在这里了,我想问一下这个是我docker的问题吗,我也换源试过还是会有下面那种问题 RErr:1 http://deb.debian.org/debian-ports sid/main riscv64 libcap2-bin riscv64 1:2.66-4 Could not connect to 11.159.135.28:3128 (11.159.135.28), connection timed out Err:2 http://deb.debian.org/debian-ports sid/main riscv64 iputils-ping riscv64 3:20221126-1 Unable to connect to 11.159.135.28:3128: Err:3 http://deb.debian.org/debian-ports sid/main riscv64 libpam-cap riscv64 1:2.66-4 Unable to connect to 11.159.135.28:3128: E: Failed to fetch http://deb.debian.org/debian-ports/pool-riscv64/main/libc/libcap2/libcap2-bin_2.66-4_riscv64.deb Could not connect to 11.159.135.28:3128 (11.159.135.28), connection timed out E: Failed to fetch http://deb.debian.org/debian-ports/pool-riscv64/main/i/iputils/iputils-ping_20221126-1_riscv64.deb Unable to connect to 11.159.135.28:3128: E: Failed to fetch http://deb.debian.org/debian-ports/pool-riscv64/main/libc/libcap2/libpam-cap_2.66-4_riscv64.deb Unable to connect to 11.159.135.28:3128: E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

这个地址是我设置的代理,试一下先在命令行输入两个命令取消代理。 unset http_proxy unset https_proxy

wuboy19 commented 11 months ago

好了,太感谢大佬了,昨天在学校实验室搞了好久,太感谢了,学到了,现在可以安装上去了,我现在就可以安装opencv其他图像库了

wuboy19 commented 11 months ago

你好,大佬,就是我是下载的opencv-python源码,它的子模块也拉取了,然后运行的命令是 export CMAKE_ARGS="-DSOME_FLAG=ON -DSOME_OTHER_FLAG=OFF" export ENABLE_CONTRIB=1 pip wheel . --verbose 因为我看到说python3 setup.py bdist_wheel是就版本的,我也试过 pip wheel . --verbose我使用这个pip和setuptools更新到最新了,但是下面报错,我搜了百度和chatgpt,尝试了还是没解决 Failed to build cmake ERROR: Could not build wheels for cmake, which is required to install pyproject.toml-based projects error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. full command: /root/py311/bin/python3 /root/py311/lib/python3.11/site-packages/pip/__pip-run

大佬编译的是怎么编译的一个命令和思路

zhangwm-pt commented 11 months ago

你好,大佬,就是我是下载的opencv-python源码,它的子模块也拉取了,然后运行的命令是 export CMAKE_ARGS="-DSOME_FLAG=ON -DSOME_OTHER_FLAG=OFF" export ENABLE_CONTRIB=1 pip wheel . --verbose 因为我看到说python3 setup.py bdist_wheel是就版本的,我也试过 pip wheel . --verbose我使用这个pip和setuptools更新到最新了,但是下面报错,我搜了百度和chatgpt,尝试了还是没解决 Failed to build cmake ERROR: Could not build wheels for cmake, which is required to install pyproject.toml-based projects error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. full command: /root/py311/bin/python3 /root/py311/lib/python3.11/site-packages/pip/__pip-run

大佬编译的是怎么编译的一个命令和思路

你的编译思路没问题,用这个编译命令应该就可以。

具体到你的报错,像是在做 opencv whl 依赖的python 包的编译的时候出错了。 因此,可以把指定依赖库的 pyproject.toml 文件修改一下,把编译不过的给注释掉。也就是说,跳过依赖的python包,让它只编译 opencv 本身

wuboy19 commented 11 months ago

我发现我现在编译的是opencv-python源码里是4.7的版本,我看大佬你的是4.5.4版本,版本会有影响吗,我之前尝试的是编译opencv-python源码,现在是编译opencv源码 步骤 1:克隆 OpenCV 源码库

首先,您需要克隆 OpenCV 源码库。打开终端并运行:

bash

git clone https://github.com/opencv/opencv.git cd opencv

步骤 2:克隆 OpenCV 贡献模块(可选)

如果您需要使用 OpenCV 的贡献模块,也可以克隆 OpenCV 贡献模块:

bash

git clone https://github.com/opencv/opencv_contrib.git

步骤 3:创建构建目录

在 OpenCV 源码目录外创建一个构建目录,并进入该目录:

bash

mkdir build cd build

步骤 4:配置 CMake

使用 CMake 来配置编译选项。以下是一个示例配置命令:

bash

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ ..

这个命令将配置编译参数,包括构建类型、安装目录,是否安装示例,是否生成 pkgconfig 文件等。确保根据您的需求进行调整。

我是按照这个过程,可行吗,目前还在编译

zhangwm-pt commented 11 months ago

我发现我现在编译的是opencv-python源码里是4.7的版本,我看大佬你的是4.5.4版本,版本会有影响吗,我之前尝试的是编译opencv-python源码,现在是编译opencv源码 步骤 1:克隆 OpenCV 源码库

首先,您需要克隆 OpenCV 源码库。打开终端并运行:

bash

git clone https://github.com/opencv/opencv.git cd opencv

步骤 2:克隆 OpenCV 贡献模块(可选)

如果您需要使用 OpenCV 的贡献模块,也可以克隆 OpenCV 贡献模块:

bash

git clone https://github.com/opencv/opencv_contrib.git

步骤 3:创建构建目录

在 OpenCV 源码目录外创建一个构建目录,并进入该目录:

bash

mkdir build cd build

步骤 4:配置 CMake

使用 CMake 来配置编译选项。以下是一个示例配置命令:

bash

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

这个命令将配置编译参数,包括构建类型、安装目录,是否安装示例,是否生成 pkgconfig 文件等。确保根据您的需求进行调整。

我是按照这个过程,可行吗,目前还在编译

原则上来说,4.7 和 4.5 版本的编译差别应该不大,但是不排除4.7 有新的依赖导致出现问题。 opencv 的编译命令和参数我也不太熟悉,没做过详细验证哪些参数可行。 上述步骤逻辑上看应该没什么问题,如果遇到一些编译错误,注意分析它的提示内容,通常都能解决的。

wuboy19 commented 11 months ago

大佬,快放假打扰你了,我编译后自己编写的setup.py然后对build文件进行生成whl文件,但是生成成功后,执行import 还是提示没有cv2,我看博主你的里面也有prebuildopencv,目前就是build里面我也有博主对应的文件,但是生成的whl文件可以成功pip install,但是没有包

zhangwm-pt commented 11 months ago

大佬,快放假打扰你了,我编译后自己编写的setup.py然后对build文件进行生成whl文件,但是生成成功后,执行import 还是提示没有cv2,我看博主你的里面也有prebuildopencv,目前就是build里面我也有博主对应的文件,但是生成的whl文件可以成功pip install,但是没有包

import 没有 cv2 的话,大概率是没把 cv2 目录打包进去。 我的prebuilt_opencv 是 c++版本的,不应该参考它。 如果想要对照的话,可以下载一个 x86 或者 arm的 whl 包,然后用unzip解压,就能看到里面有哪些文件了。

wuboy19 commented 11 months ago

十分感谢大佬,我第一次才指定whl文件可以unzip压缩,我解压了下载的arm的whl和大佬你的riscv64的whl文件,我看了相似文件,我发现我项目里面有个python_loader里面有setup.py文件,,然后编译了,生成的whl文件安装在docker可以,导入import cv2没报错,我现在把他安装在licheepi 4a上试试。 十分感谢,大佬在快放假时候帮助我这个菜鸡,跟着大佬学到了很多,祝大佬中秋国庆快乐哦