NickWaterton / Roomba980-Python

Python program and library to control iRobot Roomba 980 Vacuum Cleaner
MIT License
361 stars 103 forks source link

Can't get username/blid and password from iRobot cloud - urllib3.packages.six.moves error #121

Open detail9 opened 7 months ago

detail9 commented 7 months ago

Hi,

I'm attempting to run password.py to get the username/blid and password from iRobot cloud. I'm using Python 3.12.0 on Windows 11 with requests module version 2.31.0. I also installed all other modules using pip3 install -r requirements.txt as described here.

Below is the Traceback error I get. It seems to have something to do with a module named urllib3.packages.six.moves but after Googling that I have no idea what that actually is. I have urllib3 version 1.25.11 installed, if that matters.

2023-11-19 20:18:29 INFO [Roomba.Password] Getting Roomba information from iRobot aws cloud...
Traceback (most recent call last):
  File "C:\Users\username\Documents\Github\Roomba980-Python\roomba\password.py", line 294, in <module>
    main()
  File "C:\Users\username\Documents\Github\Roomba980-Python\roomba\password.py", line 291, in main
    get_passwd.get_password()
  File "C:\Users\username\Documents\Github\Roomba980-Python\roomba\password.py", line 117, in get_password
    from getcloudpassword import irobotAuth
  File "C:\Users\username\Documents\Github\Roomba980-Python\roomba\getcloudpassword.py", line 20, in <module>
    import requests
  File "C:\Users\username\AppData\Roaming\Python\Python312\site-packages\requests\__init__.py", line 43, in <module>
    import urllib3
  File "C:\Users\username\AppData\Roaming\Python\Python312\site-packages\urllib3\__init__.py", line 7, in <module>
    from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
  File "C:\Users\username\AppData\Roaming\Python\Python312\site-packages\urllib3\connectionpool.py", line 11, in <module>
    from .exceptions import (
  File "C:\Users\username\AppData\Roaming\Python\Python312\site-packages\urllib3\exceptions.py", line 2, in <module>
    from .packages.six.moves.http_client import IncompleteRead as httplib_IncompleteRead
ModuleNotFoundError: No module named 'urllib3.packages.six.moves'

I am new to Python (this is actually my first "project" working in it) so hopefully I just overlooked something simple.

detail9 commented 7 months ago

Additional info about my setup. Below are all packages I have installed.

NickWaterton commented 7 months ago

Python 3.12 is not supported. 3.10 is the latest version supported.

you need six installed, and it looks like the urllib3 version of six is broken on 3.12.