WARNING: The candidate selected for download or install is a yanked version: 'opencv-python' candidate (version 3.4.2.16 at https://pypi.doubanio.com/packages/bd/c9/364f02bb1d2186405995dbb2b579f3c55b68134a9513a7068e0cdbaeb928/open cv_python-3.4.2.16-cp37-这是什么意思
时间: 2024-04-28 20:27:04 浏览: 952
这个警告的意思是,你选择下载或安装的 'opencv-python' 版本是已被撤回的版本。在 https://pypi.doubanio.com/packages/bd/c9/364f02bb1d2186405995dbb2b579f3c55b68134a9513a7068e0cdbaeb928/open cv_python-3.4.2.16-cp37- 上可以看到这个版本的详情。可能是因为这个版本出现了问题或者有安全隐患,建议选择其他版本。
相关问题
~ $ pkg install python python-dev pkg install libjpeg-turbo-dev libpng-dev cmake pkg-config git clone https://github.com/opencv/opencv && cd opencv mkdir build && cd build # 安装proot pkg install proot # 进入管理员环境,用exit退出 termux-chroot LDFLAGS=" -llog -lpython3" cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=$PREFIX/local -DBUILD_opencv_python3=on -DBUILD_opencv_python2=off -DOPENCV_EXTRA_MODULES=../modules -DPYTHON3_LIBRARIES=$PREFIX/lib/libpython3.so -DWITH_QT=OFF -DWITH_GTK=OFF .. make -j4 make install exit Checking availability of current mirror: [*] https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main: ok Reading package lists... Done Building dependency tree... Done Reading state information... Done Package python-dev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: python E: Package 'python-dev' has no installation candidate Checking availability of current mirror: [*] https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main: ok Reading package lists... Done Building dependency tree... Done Reading state information... Done Package libjpeg-turbo-dev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: libjpeg-turbo Package libpng-dev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: libpng E: Package 'libjpeg-turbo-dev' has no installation candidate E: Package 'libpng-dev' has no installation candidate The program git is not installed. Install it by executing: pkg install git Checking availability of current mirror: [*] https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main: ok Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libtalloc Suggested packages: proot-distro The following NEW packages will be installed: libtalloc proot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 118 kB of archives. After this operation, 471 kB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable/main aarch64 libtalloc aarch64 2.4.2 [33.1 kB] Get:2 https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable/main aarch64 proot aarch64 5.1.107-65 [84.9 kB] Fetched 118 kB in 1s (126 kB/s) Selecting previously unselected package libtalloc. (Reading database ... 17171 files and directories currently installed.) Preparing to unpack .../libtalloc_2.4.2_aarch64.deb ... Unpacking libtalloc (2.4.2) ... Selecting previously unselected package proot. Preparing to unpack .../proot_5.1.107-65_aarch64.deb ... Unpacking proot (5.1.107-65) ... Setting up libtalloc (2.4.2) ... Setting up proot (5.1.107-65) ... ~ $
<think>我们正在处理用户在Termux环境中编译安装OpenCV并启用Python3支持时遇到的依赖问题。用户询问的是python-dev、libjpeg-turbo-dev和libpng-dev这些包在Termux中的替代包。根据Termux的包管理,我们可以这样替换:
-`python-dev`在Termux中通常由`python`或`python-dev`包提供,但Termux中的Python开发包可能已经包含在python包中,或者需要安装`python-dev`。然而,在Termux中,标准的Python开发包可能是`python`包本身就已经包含了必要的头文件,或者需要安装`libpython-dev`。但根据Termux的包列表,我们可以安装`python-dev`(如果可用)或者使用`python`包(它可能已经包含了开发文件)。
-`libjpeg-turbo-dev`在Termux中对应的包是`libjpeg-turbo`,因为Termux中通常开发库和运行时库在同一个包中,或者有单独的`-dev`包。但根据Termux的包管理,我们通常安装`libjpeg-turbo`,它可能已经包含了头文件和库。- `libpng-dev`在Termux中对应的包是`libpng`,同样,它可能已经包含了开发文件。
但是,请注意,Termux的包命名可能略有不同。根据Termux的官方文档和社区实践,以下是正确的替代:1.**python-dev**:在Termux中,我们可以安装`python-dev`包,但请注意,Termux中Python3的开发包可能是`python-dev`,或者对于Python3,可能是`python3-dev`?实际上,Termux中Python3的包名为`python`,而开发包可能已经包含。但为了确保,我们可以安装`python-dev`(它对应的是Python3的开发文件,因为Termux默认使用Python3)。根据Termux的包列表,我们可以使用以下命令安装:```pkginstall python-dev```或者,如果`python-dev`不存在,则尝试安装`python`(通常已经包含开发文件)。2.**libjpeg-turbo-dev**:在Termux中,包名为`libjpeg-turbo`。安装命令:```pkginstall libjpeg-turbo```3.**libpng-dev**:在Termux中,包名为`libpng`。安装命令:```pkginstall libpng```另外,根据引用[1]中的内容,用户还安装了其他一些依赖,如`cmake`、`pkg-config`等。因此,完整的依赖安装命令可能是:```
pkg installpython-devlibjpeg-turbo libpng cmake pkg-config```注意:在Termux中,包名可能没有`-dev`后缀,因为Termux的包通常同时包含运行时和开发文件(头文件和静态库等)。另外,引用[1]中还提到了需要安装`libjpeg-turbo-dev`和`libpng-dev`,但在Termux中,我们使用上述包名。同时,引用[1]中在配置OpenCV时使用了`LDFLAGS=" -llog-lpython3"`,这是因为在Android环境下需要链接特定的日志库和Python库。因此,我们可以为用户提供以下步骤:1.更新Termux包列表:```pkgupdate```2.安装必要的依赖:```pkginstall python-dev libjpeg-turbo libpng cmake pkg-config```3.如果需要,还可以安装其他可能需要的工具,比如`git`、`make`等(如果尚未安装):```pkginstall gitmake```4.然后按照引用[1]中的步骤克隆OpenCV源码并编译。
注意:由于Termux的环境与标准Linux发行版不同,可能还需要设置一些环境变量或配置选项。例如,在配置CMake时,引用[1]中使用了:```
LDFLAGS="-llog -lpython3"cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=$PREFIX-DBUILD_opencv_python3=on-DBUILD_opencv_python2=off-DWITH_QT=OFF -DWITH_GTK=OFF ...```
这里,`LDFLAGS`设置了链接日志库和Python3库,因为Android系统需要日志库,而Termux中的Python3库名为`libpython3.so`(可能是`-lpython3`)。另外,`-DCMAKE_INSTALL_PREFIX=$PREFIX`指定了安装路径为Termux的系统目录(`$PREFIX`是Termux的环境变量,指向`/data/data/com.termux/files/usr`)。
如果用户按照上述步骤安装依赖,应该可以解决编译时的依赖问题。
最后,需要提醒用户,编译OpenCV可能需要较长的时间和足够的存储空间。
**相关问题**:
1.在Termux中编译OpenCV时如何加快编译速度?
2.如何验证OpenCV在Termux中是否安装成功?3.Termux中编译OpenCV常见错误有哪些及如何解决?</think>### Termux 中 OpenCV 编译依赖的替代方案
在 Termux 环境中编译 OpenCV 并启用 Python3 支持时,依赖包 `python-dev`、`libjpeg-turbo-dev` 和 `libpng-dev` 的 Termux 替代方案如下:
#### 1. **Python 开发包**
- **替代方案**:`python-dev` → `python` + `clang`
- **安装命令**:
```bash
pkg install python clang
```
- **说明**:Termux 的 `python` 包已包含 Python 开发头文件(位于 `$PREFIX/include/python3.11`),`clang` 提供编译工具链[^1]。
#### 2. **JPEG 图像库**
- **替代方案**:`libjpeg-turbo-dev` → `libjpeg-turbo`
- **安装命令**:
```bash
pkg install libjpeg-turbo
```
- **说明**:Termux 的 `libjpeg-turbo` 包同时包含运行时库和开发头文件(位于 `$PREFIX/include`)[^1]。
#### 3. **PNG 图像库**
- **替代方案**:`libpng-dev` → `libpng`
- **安装命令**:
```bash
pkg install libpng
```
- **说明**:`libpng` 包提供 PNG 支持的开发文件(头文件在 `$PREFIX/include`,库文件在 `$PREFIX/lib`)[^1]。
#### 完整依赖安装流程
```bash
# 更新仓库并安装核心依赖
pkg update
pkg install git cmake make python clang
# 安装图像处理库
pkg install libjpeg-turbo libpng
# 可选:安装优化工具
pkg install pkg-config
```
#### 关键配置调整
在 CMake 配置阶段需添加 Termux 特定参数:
```bash
LDFLAGS=" -llog -lpython3.11" \
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DBUILD_opencv_python3=ON \
-DPYTHON3_INCLUDE_DIR=$PREFIX/include/python3.11 \
-DWITH_GTK=OFF \
-DWITH_QT=OFF \
..
```
**注意**:
- 显式指定 `PYTHON3_INCLUDE_DIR` 确保找到 Python 头文件
- `-llog` 链接 Android 日志库
- `-lpython3.11` 匹配 Termux 的 Python 版本(需根据实际版本调整)[^1][^2]
#### 验证依赖
检查头文件是否存在:
```bash
ls $PREFIX/include/python3.11/Python.h # Python 头文件
ls $PREFIX/include/jpeglib.h # libjpeg-turbo 头文件
ls $PREFIX/include/png.h # libpng 头文件
```
阅读全文
相关推荐
















