Post
Topic
Board Armory
Merits 2 from 2 users
Topic OP
Issue with Python version on latest commit 9c4e9f1 in dev branch
by
Aethereal
on 26/05/2025, 10:04:55 UTC
⭐ Merited by nc50lc (1) ,goatpig (1)
Hello @goatpig

I tried the latest commit on 2 different environments and I had different results.

On Python 3.13.3 there was no error

On Python 3.11.2 I got this:

Code:
Traceback (most recent call last):
  File "/home/test/Armory/BitcoinArmory/ArmoryQt.py", line 80, in <module>
    from qtdialogs.DlgWalletDetails import DlgWalletDetails
  File "/home/test/Armory/BitcoinArmory/qtdialogs/DlgWalletDetails.py", line 41, in <module>
    from qtdialogs.DlgBackupCenter import DlgBackupCenter, DlgSimpleBackup
  File "/home/test/Armory/BitcoinArmory/qtdialogs/DlgBackupCenter.py", line 650
    f'<font color="{htmlColor('TextBlue')}" '
                               ^^^^^^^^
SyntaxError: f-string: unmatched '('

This is apparently due to the fact in Python 3.12 the parsing of nested quotes was changed (might even say "improved").

Unfortunately Python 3.11 is still the default on Debian 12 and derivatives like the RaspiOS I got the error on. That might trigger the need to bundle the right Python with the final public release unless you have some sort of work-around.

On a side note, I have a problem since your previous commit: If I launch Armory against an old .armory folder I had from a back-up, it doesn't recognize neither the wallet nor the watch-only wallet that there were inside.
Since the load digital backup dialog is still not working, I can't try to see if they would work if manually imported.
If possible I would like to load the binary backups as they pair the addresses I used with the description I gave them, while restoring a paper backup of course lacks the descriptions.