无法在 python 中使用 gphoto2 打开相机

Could not open camera using gphoto2 in python

我尝试在 Raspberry PI 上使用 Python/gphoto2 来控制 Sony Alpha。我已经尝试了一些 python 绑定(python-gphoto2、gphoto2-cffi,...)但是它们都在创建相机对象的指令中失败(例如 my_cam = gphoto.Camera()) 错误:

"Could not claim interface 0 (Device or resource busy). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device."

我们试图杀死后台程序,确保内核模块不是 运行,安装最新版本的库和 python 包,...但无法摆脱错误。此外,使用 libgphoto2 的 C 代码工作正常,因此资源不太可能真的很忙。我们怀疑问题是 python 包中缺少 USB 库,并尝试安装 libusb-dev,...但没有帮助。

有什么建议我们还应该尝试吗?谢谢

您提到尝试 python-gphoto2。我是那个包的作者。假设您已成功安装它,那么我将尝试 list-cameras.py 示例程序。它应该列出 libgphoto2 识别的所有已连接和打开的相机。

如果 C 程序可以工作但 Python 不能工作,您可以检查它们是否使用相同版本的 libgphoto2。在 C 程序的可执行文件和 python-gphoto2 编译模块之一上尝试 ldd,例如/usr/local/lib/python3.5/dist-packages/gphoto2/_camera.cpython-35m-arm-linux-gnueabihf.so.