Post
Topic
Board Armory
Topic OP
Armory dev branches errors with Python >3.9
by
Aethereal
on 26/02/2025, 16:30:34 UTC
Hello goatpig,
I am trying to build Armory on "Garuda", an arch-based rolling release that is enough up-to-date to use (at the time of my writing) Python 3.13.2
I successfully managed to compile "cappnp" branch on my machine, but I encountered some issues running it, even in --offline mode.
The errors I encountered are very similar to those shown in the logs of user miklerokamm in https://bitcointalk.org/index.php?topic=5521112.0
Digging into it, I noticed that since Python 3.10, there isn't anymore an automatic type cast, so most QT calls like setMinimumWidth, setMinimumHeight, setMinimumSize and potentially some others need an explicit int() around the argument, i.e.
self.editPasswd1.setMinimumWidth(MIN_PASSWD_WIDTH(self)) must become self.editPasswd1.setMinimumWidth(int(MIN_PASSWD_WIDTH(self))) to work
I assume you are using a Python version <3.10 where types were still automatically cast and didn't noticed the problem.
I manually changed some occurrences and become able to get to the main window. Actually I was even able to start the wizard for a new wallet, but encountered an error ('WalletBackupFrame' object has noattribute 'wlt') tryng to print a paper backup, I am not sure if you already fixed this in some other branch
This change should still be compatible with older python3 releases, and I hope you are able to implement it directly on the repository.
I'm quite interested in being able to compile a working version as I can't use anymore the old version that was available on AUR (can't install the python2 environment since some packages were discontinued) so let me know if I can be of any help