Closed altinukshini closed 8 years ago
Here's the output of pip freeze |grep gphoto
gphoto2==1.4.1
gphoto2-cffi==0.3
Btw I'm using a "Nikon DSC D5200"
Yeah, you have your gphoto2 installations mixed up. gphoto2==1.4.1
is actually another gphoto2 wrapper that exports the same package. Due to this name clash, I had to rename the exported package name to gphoto2-cffi
(in version 0.3, which currently does not work with spreads). The version for spreads is 0.2
. So please run these commands to fix the situation:
$ pip uninstall gphoto2 gphoto2-cffi
$ pip install gphoto2-cffi==0.2
Ahh, right!! That worked.
Small correction:
$ pip install gphoto2-cffi==0.2
However I still got the following after trying spread configure:
...
Please put a book with as little whitespace as possible under your cameras.
Press any button to continue
spreads encountered an error:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/spreads/main.py", line 321, in main
run()
File "/usr/local/lib/python2.7/dist-packages/spreads/main.py", line 308, in run
args.subcommand(config)
File "/usr/local/lib/python2.7/dist-packages/spreads/cli.py", line 246, in configure
focus = devs[0]._acquire_focus()
File "/usr/local/lib/python2.7/dist-packages/spreadsplug/dev/gphoto2camera.py", line 117, in _acquire_focus
raise NotImplementedError
NotImplementedError
Exception AttributeError: "'NoneType' object has no attribute 'gp_camera_exit'" in <object repr() failed> ignored
Yeah, locking the focus is currently not supported with the gphoto2 driver, sorry :/ If your DSLR supports it, you can fiddle around with the manual focus until you get good results and then lock that. The driver will probably not support it for a while, since the necessary code will differ a lot between camera models and gphoto2 does not offer a high-level API for some the required functions (i.e. automatically setting the focus, reading the focus value from the camera, setting the focus to the stored value).
The interface should probably be clearer about this, though and not just throw an obscure error.
I'm stuck here, could you please help?