caronc / apprise

Apprise - Push Notifications that work with just about every platform!
https://hub.docker.com/r/caronc/apprise
BSD 2-Clause "Simplified" License
11.71k stars 410 forks source link

Python 3.12.1 breaking with Apprise 1.7.0 #1030

Closed mattpackwood closed 9 months ago

mattpackwood commented 9 months ago

:mega: Notification Service(s) Impacted Version 1.7.0

:lady_beetle: Describe the bug I am getting errors thrown by 1.7.0, see below.. I did some digging, it seems to me to be related to the version of Python, bear with me: This is all on "Just my Mac" I have messed with my Ubuntu machine but it is only running Python 3.11 at the moment so not sure if this is a "Just me issue":

I usually have two versions of Python installed, one is from https://www.python.org and the other from Homebrew that supports the various tools I have installed through that (I do not usually do much with the Homebrew version I let Homebrew manage it).

When I uninstalled the 3.12.1 version of python I had running from https://www.python.org Apprise 1.7.0 worked with Python 3.11.6 (which is what Homebrew was providing). Then I got Homebrew to download Apprise 1.6.0 and that runs "fine" with Python 3.12.1 after I reinstalled it...

:bulb: Screenshots and Logs Matt-Packwoods-iMac:~ $ apprise -vv -t "Test Message Title" -b "Test Message Body" --tag pushed_trigger Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.12/bin/apprise", line 8, in <module> sys.exit(main()) ^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/apprise/cli.py", line 464, in main a.add(AppriseConfig( ^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/apprise/AppriseConfig.py", line 121, in __init__ self.add(paths) File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/apprise/AppriseConfig.py", line 206, in add instance = AppriseConfig.instantiate( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/apprise/AppriseConfig.py", line 333, in instantiate schema = config.ConfigFile.ConfigFile.protocol ^^^^^^^^^^^^^^^^^ AttributeError: module 'apprise.config' has no attribute 'ConfigFile'. Did you mean: 'ConfigBase'?

:computer: Your System Details:

:crystal_ball: Additional context Add any other context about the problem here.

mattpackwood commented 9 months ago

I got one of my PC's pushed up to Python 3.12.1 and it does NOT have an issue with Python 3.12.1 and Apprise 1.7.0

caronc commented 9 months ago

From what i can tell; the code works fine in Python v3.12; instructions can be seen in attached PR

mattpackwood commented 9 months ago

Agreed, the issue seems to be my messed up environment (again) - I will resist the temptation to pull the trigger next time...