icloud_photos_downloader: Error Message while trying out for the first time

Hi, I installed the script like shown on github page via pip. But when calling, I get this message: C:\Users\frank>icloudpd -d D:\icloudPD\Frank -u wonttell@gmail.com -p falschabersorichtig Traceback (most recent call last): File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "C:\Users\frank\AppData\Local\Programs\Python\Python310\Scripts\icloudpd.exe\__main__.py", line 4, in <module> File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\icloudpd\base.py", line 17, in <module> from pyicloud_ipd.exceptions import PyiCloudAPIResponseError File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\pyicloud_ipd\__init__.py", line 2, in <module> from pyicloud_ipd.base import PyiCloudService File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\pyicloud_ipd\base.py", line 19, in <module> from pyicloud_ipd.services import ( File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\pyicloud_ipd\services\__init__.py", line 7, in <module> from pyicloud_ipd.services.account import AccountService File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\pyicloud_ipd\services\account.py", line 5, in <module> from pyicloud_ipd.utils import underscore_to_camelcase File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\pyicloud_ipd\utils.py", line 2, in <module> import keyring File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\keyring\__init__.py", line 6, in <module> from .core import (set_keyring, get_keyring, set_password, get_password, File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\keyring\core.py", line 14, in <module> from . import backend File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\keyring\backend.py", line 18, in <module> from .util import properties File "C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\site-packages\keyring\util\properties.py", line 1, in <module> from collections import Callable ImportError: cannot import name 'Callable' from 'collections' (C:\Users\frank\AppData\Local\Programs\Python\Python310\lib\collections\__init__.py) Any hints what I could check or install? Looks like there is something around the crypting while login not in place? Version of python: C:\Users\frank>python --version Python 3.10.0

Anything else I should put in here?

Thanks a lot

Frank

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 24 (6 by maintainers)

Most upvoted comments

Try downgrading to Python 3.8.

I found it broke when I upgraded to Python 3.9 (https://github.com/icloud-photos-downloader/icloud_photos_downloader/issues/353) and it hasn’t been updated since then. I should imagine it’s incompatible with Python 3.10 too.

@boredazfcuk

pip install --upgrade keyring

But other errors encounter in new keyring.

I made the following on my Arch Linux server to make things work again :

cd ~/photo_backup
rm -rf .venv
yay -S python38
virtualenv --python=/usr/bin/python3.8 .venv
.venv/bin/pip install icloudpd
.venv/bin/icloudpd --until-found $RECENT -d ./photos/mickey -u mickey@disney.com --no-progress-bar --log-level info

Another workaround, just simple upgrading the keyring can also works fine for me, win10+python3.10 But I am curious why this is no issue for python 3.8? Per my understanding, this error should be encountered on Python 3.3 and above.

icloudpd v1.8.0+ has updated dependencies and works with later versions of python. Pls see if latest version solves your problem and reopen the issue if it does not.

Just upgraded to Fedora 35, running Python 3.10. Can confirm mine broke too, used to work on previous versions of Fedora / Python. I get the same “ImportError: cannot import name ‘Callable’ from ‘collections’” message.