Inky-Calendar on a Inky Impression

I’m trying to run this amazing program to display the family Google calendar. I’ve got the whopping great 13.3” display and a Raspberry Pi Zero 2W. I’ve gone through the Pimoroni tutorials and can display images nicely. I’ve gone through the Inky-Calendar instructions carefully but can’t get it to work. If anyone else has got the calendar to work or can help me I’d be extremely grateful. Here’s the traceback I get. I’m wondering if I need to load some kind of library to access the module.

File “/home/pico_boy/inky-calendar/draw_calendar.py”, line 2, in
from google.oauth2.service_account import Credentials
ModuleNotFoundError: No module named ‘google’

GitHub - mimireyburn/inky-calendar: Personal Project | Creating a physical Calendar widget with Raspberry-Pi, an eInk display and the the Google Calendar API.

You need to install the dependencies and make them available when running the program. Making them available usually means entering the virtual environment you created when installing them before running the program.

People regularly have problems with the whole virtual environment thing. It is an extra step that is easily forgotten and is generally cumbersome.

Ahhh… I did install the dependencies but there were errors that I don’t understand.

Collecting google-auth>=2.0.0 (from -r requirements.txt (line 3))
  Using cached https://www.piwheels.org/simple/google-auth/google_auth-2.47.0-py                                                                                        3-none-any.whl (234 kB)
  DEPRECATION: Wheel filename 'google_api_python_client-1.0beta5prerelease2-py3-                                                                                        none-any.whl' is not correctly normalised. Future versions of pip will raise the                                                                                         following error:
  Invalid wheel filename (invalid version): 'google_api_python_client-1.0beta5pr                                                                                        erelease2-py3-none-any'

   pip 25.3 will enforce this behaviour change. A possible replacement is to ren                                                                                        ame the wheel to use a correctly normalised name (this may require updating the                                                                                         version in the project metadata). Discussion can be found at https://github.com/                                                                                        pypa/pip/issues/12938
  DEPRECATION: Wheel filename 'google_api_python_client-1.0beta5prerelease-py3-n                                                                                        one-any.whl' is not correctly normalised. Future versions of pip will raise the                                                                                         following error:
  Invalid wheel filename (invalid version): 'google_api_python_client-1.0beta5pr                                                                                        erelease-py3-none-any'

   pip 25.3 will enforce this behaviour change. A possible replacement is to ren                                                                                        ame the wheel to use a correctly normalised name (this may require updating the                                                                                         version in the project metadata). Discussion can be found at https://github.com/                                                                                        pypa/pip/issues/12938

Please, how do I fix that?

That’s something I can’t immediately answer. It looks like the available wheel (the daft terminology for a binary package chosen by the Python developers) doesn’t have the right kind of filename. There is a link to discussion of the matter. That said, it looks more like a warning than an error.

You would have to prod the maintainers of the google-api-python-client to make packages with the expected filenames, I guess.

Since the message might be a warning, you might try and run the program and see if it works. Make sure that you are in the venv, though. Your prompt should contain (.venv) if you were following the instructions.

Thank you. Looks like I wasn’t in the venv when I installed the dependencies or tried to run main.py

I’m now getting-

Getting month...
Error: Expecting value: line 1 column 1 (char 0)
Exiting cleanly...

I’m guessing somehow it’s not connecting to my google calendar correctly.

I imagine that some debugging might be required here. The initial message is emitted in the getMonth method. I don’t know where the error and exit messages are generated, but probably in some library or other. It would have been better if a traceback had been generated.

Perhaps you need to review the part of the instructions that covers the KEY.json file, since that is needed fairly early on, and it might be part of the cause. This is all speculation since I am not trying the software myself, nor do I use Google calendars.

Thanks. I’ve got it to run. It’s so good!

1 Like