python - 为多个虚拟环境使用预安装的 Opencv
问题描述
我正在使用带有 Jetson Nano 的Jetpack 4.3 (Nvidia Jetson 卡的操作系统映像)。其中预装了 OpenCV 4.1.1。
我想在多个虚拟环境中工作,但我不想在我创建的每个虚拟环境中安装(从源代码)OpenCV。
所以由于 OpenCV 是预先安装在虚拟环境之外的,是否可以使用它在我创建的每个虚拟环境中?
如果是这样,我如何将 OpenCV 安装链接到虚拟环境?
附加信息:
dpkg -L libopencv
返回:
/usr
/usr/lib
/usr/lib/aarch64-linux-gnu
/usr/lib/aarch64-linux-gnu/libopencv_calib3d.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_core.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_dnn.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_features2d.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_gapi.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_highgui.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_ml.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_objdetect.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_photo.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_stitching.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_video.so.4.1.1
/usr/lib/aarch64-linux-gnu/libopencv_videoio.so.4.1.1
/usr/share
/usr/share/opencv4
/usr/share/opencv4/haarcascades
/usr/share/opencv4/haarcascades/haarcascade_eye.xml
/usr/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml
/usr/share/opencv4/haarcascades/haarcascade_frontalcatface.xml
/usr/share/opencv4/haarcascades/haarcascade_frontalcatface_extended.xml
/usr/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml
/usr/share/opencv4/haarcascades/haarcascade_frontalface_alt2.xml
/usr/share/opencv4/haarcascades/haarcascade_frontalface_alt_tree.xml
/usr/share/opencv4/haarcascades/haarcascade_frontalface_default.xml
/usr/share/opencv4/haarcascades/haarcascade_fullbody.xml
/usr/share/opencv4/haarcascades/haarcascade_lefteye_2splits.xml
/usr/share/opencv4/haarcascades/haarcascade_licence_plate_rus_16stages.xml
/usr/share/opencv4/haarcascades/haarcascade_lowerbody.xml
/usr/share/opencv4/haarcascades/haarcascade_profileface.xml
/usr/share/opencv4/haarcascades/haarcascade_righteye_2splits.xml
/usr/share/opencv4/haarcascades/haarcascade_russian_plate_number.xml
/usr/share/opencv4/haarcascades/haarcascade_smile.xml
/usr/share/opencv4/haarcascades/haarcascade_upperbody.xml
/usr/share/opencv4/lbpcascades
/usr/share/opencv4/lbpcascades/lbpcascade_frontalcatface.xml
/usr/share/opencv4/lbpcascades/lbpcascade_frontalface.xml
/usr/share/opencv4/lbpcascades/lbpcascade_frontalface_improved.xml
/usr/share/opencv4/lbpcascades/lbpcascade_profileface.xml
/usr/share/opencv4/lbpcascades/lbpcascade_silverware.xml
/usr/lib/aarch64-linux-gnu/libopencv_calib3d.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_core.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_dnn.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_features2d.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_gapi.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_highgui.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_ml.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_objdetect.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_photo.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_stitching.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_video.so.4.1
/usr/lib/aarch64-linux-gnu/libopencv_videoio.so.4.1
解决方案
正确的方法是创建带有标志的虚拟环境以包含系统范围的包:python3 -m venv --system-wide-packages .venv
以下答案详细解释了该过程,包括如何处理 pip install:https ://stackoverflow.com/a/19459977/804840
推荐阅读
- ios - DYLD,未找到依赖 dylib '/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib'
- google-vision - 来自图像网络 URI 的 Google 视觉批量标签预测
- python - Python中有没有办法分割字符串和连接部分?
- discord - 自定义表情符号 Discordjs v12 返回未定义
- c - 使用 Kiss_fft 将复频率转换为实信号
- flutter - 从 REST API 发送时,Firebase 推送通知在后台不起作用
- python - 如何在 Qt 应用程序中实时显示 HTML 文件
- go - fmt.Scanf 不会消耗到字符串末尾的所有字符
- c++ - cpprestsdk 通过 Postman 返回状态码 500 发布请求
- drupal - 获取当前节点的父菜单项