Fedora Account System
Red Hat Associate
Red Hat Customer
Spyder fails to launch with the following message. The file fontawesome5-regular-webfont-5.15.4.ttf is a symlink to a non-existent file, $ ll /usr/lib/python3.15/site-packages/qtawesome/fonts/fontawesome5-regular-webfont-5.15.4.ttf lrwxrwxrwx. 1 root root 50 Jul 15 19:00 /usr/lib/python3.15/site-packages/qtawesome/fonts/fontawesome5-regular-webfont-5.15.4.ttf -> /usr/share/fontawesome/webfonts/fa-regular-400.ttf ------- SPYDER ERROR MESSAGE ---------- $ spyder Traceback (most recent call last): File "/usr/bin/spyder", line 6, in <module> sys.exit(main()) ~~~~^^ File "/usr/lib/python3.15/site-packages/spyder/app/start.py", line 281, in main mainwindow.main(options, args) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/spyder/app/mainwindow.py", line 1405, in main mainwindow = create_window(MainWindow, app, splash, options, args) File "/usr/lib/python3.15/site-packages/spyder/app/utils.py", line 369, in create_window main.setup() ~~~~~~~~~~^^ File "/usr/lib/python3.15/site-packages/spyder/app/mainwindow.py", line 684, in setup internal_plugins = find_internal_plugins() File "/usr/lib/python3.15/site-packages/spyder/app/find_plugins.py", line 45, in find_internal_plugins mod = importlib.import_module(entry_point.module) File "/usr/lib64/python3.15/importlib/__init__.py", line 88, in import_module return _bootstrap._gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1390, in _gcd_import File "<frozen importlib._bootstrap>", line 1350, in _find_and_load File "<frozen importlib._bootstrap>", line 1309, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 915, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 747, in exec_module File "<frozen importlib._bootstrap>", line 549, in _call_with_frames_removed File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/plugin.py", line 25, in <module> from spyder.plugins.pylint.confpage import PylintConfigPage File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/confpage.py", line 16, in <module> from spyder.plugins.pylint.main_widget import (MAX_HISTORY_ENTRIES, MIN_HISTORY_ENTRIES, PylintWidget) File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/main_widget.py", line 94, in <module> class CategoryItem(QTreeWidgetItem): ...<42 lines>... self.setIcon(0, icon) File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/main_widget.py", line 106, in CategoryItem 'icon': ima.icon("convention") ~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/spyder/utils/icon_manager.py", line 466, in icon qta.load_font('spyder', 'spyder.ttf', 'spyder-charmap.json', ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ directory=self._resource['directory']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/qtawesome/__init__.py", line 314, in load_font return _instance().load_font(prefix, ttf_filename, charmap_filename, directory) ~~~~~~~~~^^ File "/usr/lib/python3.15/site-packages/qtawesome/__init__.py", line 162, in _instance _resource["iconic"] = IconicFont(*_BUNDLED_FONTS) ~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/qtawesome/iconic_font.py", line 368, in __init__ self.load_font(*fargs) ~~~~~~~~~~~~~~^^^^^^^^ File "/usr/lib/python3.15/site-packages/qtawesome/iconic_font.py", line 409, in load_font with open(os.path.join(directory, ttf_filename), "rb") as font_data: ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.15/site-packages/qtawesome/fonts/fontawesome5-regular-webfont-5.15.4.ttf' Reproducible: Always Steps to Reproduce: 1.start spyder from the command line 2. 3. Actual Results: error message shown above Expected Results: spyder finds the font file and starts normally
Same issue here on Fedora 45, python3-QtAwesome-1.4.2-4.fc45 with fontawesome-fonts-web-7.3.1-1.fc45. The cause appears to be that fontawesome-fonts-web 7.3.1 only ships .woff2 files in /usr/share/fontawesome/webfonts/ (fa-brands-400, fa-regular-400, fa-solid-900, fa-v4compatibility), so the .ttf symlinks in qtawesome/fonts/ are dangling. dnf provides finds no package providing those .ttf files. Workaround: copy the real fonts from the python-QtAwesome source RPM over the broken symlinks.
(In reply to Alberto Riebel from comment #1) > Same issue here on Fedora 45, python3-QtAwesome-1.4.2-4.fc45 with > fontawesome-fonts-web-7.3.1-1.fc45. The cause appears to be that > fontawesome-fonts-web 7.3.1 only ships .woff2 files in > /usr/share/fontawesome/webfonts/ (fa-brands-400, fa-regular-400, > fa-solid-900, fa-v4compatibility), so the .ttf symlinks in qtawesome/fonts/ > are dangling. dnf provides finds no package providing those .ttf files. > Workaround: copy the real fonts from the python-QtAwesome source RPM over > the broken symlinks. yeap, there are 3-4 open bugs due this fontawesome-fonts issue (looks like it's from version 7x. onwards) -> python-QtAwesome -> spyder @jjames could you please take a look and fix the fontawesome-fonts package ? thank you.
https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=fontawesome-fonts&list_id=13704435&product=Fedora&product=Fedora%20EPEL
Hmmm, upstream stopped shipping TTF fonts in their release tarballs starting with FontAwesome 7. The tarballs now contain only OTF and WOFF2 fonts. Can you use the OTF fonts instead? They are in the fontawesome-7-brands-fonts and fontawesome-7-free-fonts packages.
*** Bug 2526052 has been marked as a duplicate of this bug. ***
I sent this PR to fix the symlink in python-QtAwesome https://src.fedoraproject.org/rpms/python-QtAwesome/pull-request/9 or maybe just symlink the .woff to .ttf files inside fontawesome-fonts opc@testing:~$ ls -latr /usr/lib/python3.15/site-packages/qtawesome/fonts/fontawesome5-regular-webfont-5.15.4.ttf lrwxrwxrwx. 1 root root 50 Jul 15 21:00 /usr/lib/python3.15/site-packages/qtawesome/fonts/fontawesome5-regular-webfont-5.15.4.ttf -> /usr/share/fontawesome/webfonts/fa-regular-400.ttf opc@testing:~$ ls -latr /usr/share/fontawesome/webfonts/fa-regular-400* -rw-r--r--. 1 root root 19548 Jul 14 21:00 /usr/share/fontawesome/webfonts/fa-regular-400.woff2 and then... the stack trace in spyder: $ spyder No matching fbConfigs or visuals found glx: failed to create drisw screen Traceback (most recent call last): File "/usr/bin/spyder", line 6, in <module> sys.exit(main()) ~~~~^^ File "/usr/lib/python3.15/site-packages/spyder/app/start.py", line 281, in main mainwindow.main(options, args) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/spyder/app/mainwindow.py", line 1405, in main mainwindow = create_window(MainWindow, app, splash, options, args) File "/usr/lib/python3.15/site-packages/spyder/app/utils.py", line 369, in create_window main.setup() ~~~~~~~~~~^^ File "/usr/lib/python3.15/site-packages/spyder/app/mainwindow.py", line 684, in setup internal_plugins = find_internal_plugins() File "/usr/lib/python3.15/site-packages/spyder/app/find_plugins.py", line 45, in find_internal_plugins mod = importlib.import_module(entry_point.module) File "/usr/lib64/python3.15/importlib/__init__.py", line 88, in import_module return _bootstrap._gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1389, in _gcd_import File "<frozen importlib._bootstrap>", line 1353, in _find_and_load File "<frozen importlib._bootstrap>", line 1249, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 857, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 751, in exec_module File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/plugin.py", line 25, in <module> from spyder.plugins.pylint.confpage import PylintConfigPage File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/confpage.py", line 16, in <module> from spyder.plugins.pylint.main_widget import (MAX_HISTORY_ENTRIES, MIN_HISTORY_ENTRIES, PylintWidget) File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/main_widget.py", line 94, in <module> class CategoryItem(QTreeWidgetItem): ...<42 lines>... self.setIcon(0, icon) File "/usr/lib/python3.15/site-packages/spyder/plugins/pylint/main_widget.py", line 106, in CategoryItem 'icon': ima.icon("convention") ~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/spyder/utils/icon_manager.py", line 457, in icon return qta.icon(*args, **kwargs) ~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/qtawesome/__init__.py", line 268, in icon return _instance().icon(*names, **kwargs) ~~~~~~~~~^^ File "/usr/lib/python3.15/site-packages/qtawesome/__init__.py", line 162, in _instance _resource["iconic"] = IconicFont(*_BUNDLED_FONTS) ~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.15/site-packages/qtawesome/iconic_font.py", line 368, in __init__ self.load_font(*fargs) ~~~~~~~~~~~~~~^^^^^^^^ File "/usr/lib/python3.15/site-packages/qtawesome/iconic_font.py", line 409, in load_font with open(os.path.join(directory, ttf_filename), "rb") as font_data: ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.15/site-packages/qtawesome/fonts/fontawesome5-regular-webfont-5.15.4.ttf'