Kicad complains it cannot find wxWidgets but it actually finds them

Here my kicad version info:

Application: KiCad PCB Editor x86_64 on x86_64

Version: 9.0.2-9.0.2-0~ubuntu24.10.1, release build

Libraries:
	wxWidgets 3.2.6
	FreeType 2.13.3
	HarfBuzz 9.0.0
	FontConfig 2.15.0
	libcurl/8.12.1 OpenSSL/3.4.1 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.8 libpsl/0.21.2 libssh2/1.11.1 nghttp2/1.64.0 librtmp/2.3 OpenLDAP/2.6.9

Platform: Ubuntu 25.04, 64 bit, Little endian, wxGTK, X11, ubuntu, x11
OpenGL: NVIDIA Corporation, NVIDIA GeForce RTX 4080/PCIe/SSE2, 4.6.0 NVIDIA 570.133.07

Build Info:
	Date: May  7 2025 21:52:02
	wxWidgets: 3.2.5 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.83.0
	OCC: 7.8.1
	Curl: 8.9.1
	ngspice: 43
	Compiler: GCC 14.2.0 with C++ ABI 1019
	KICAD_IPC_API=ON

Locale: 
	Lang: en_GB
	Enc: UTF-8
	Num: 1,234.5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)

It’s running on Ubuntu 24.10.
As you can see it found the wxWidgets and I checked they work.

In Kicad I checked the Python path is correct (/usr/bin/python3) then I issued:

$ which python3
/usr/bin/python3
$ python3
Python 3.13.3 (main, Apr  8 2025, 19:55:40) [GCC 14.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> print(wx.version())
4.2.2 gtk3 (phoenix) wxWidgets 3.2.6

but when I run Kicad it complains it cannot find wxWidgets:

Could not determine wxWidgets version. Python plugins will not be available.

sys.version: ‘3.12.7 (main, Feb 4 2025, 14:46:03) [GCC 14.2.0]’
wx.version(): ‘’

Traceback (most recent call last):
File “”, line 11, in
File “/usr/lib/python3/dist-packages/wx/init.py”, line 17, in
from wx.core import *
File “/usr/lib/python3/dist-packages/wx/core.py”, line 12, in
from ._core import *
ModuleNotFoundError: No module named ‘wx._core’

How is it possible? It seems to me a contradiction.
I saw this thread but I didn’t find a solution there.

Bump! I have the same issue on Ubuntu 25.10. It warns that plugins won’t work, but they seem to in my meager testing.
Rob

Oops: I mostly guessed wrong apparently. See marekr’s comment below.

KiCad does not use the default / external python, but it uses a python version that is bundled within KiCad. My guess is this also runs in a separate environment, and thus your system settings are (probably) not visible to it.

But this guess is at the limit of my knowledge, I don’t have a direct fix.

Again guessing… If the “python bundled with KiCad” throws an error like this, then maybe there is an error in the packaging for KiCad on Ubuntu.

Kicad doesn’t bundle python on Linux, except in flatpack

In the initial post, there may be an error due to

The visible mismatch in python versions for some reason on their system. The kicad version should match the system one.

How can “The kicad version should match the system one”? What action should I take?

What does this command show?

ldd /usr/bin/pcbnew | grep python

You have a Ubuntu 24.10.1 kicad package installed on Ubuntu 25.04. Did you update the ppa line to plucky?

Why does it say Ubuntu 25.04 if you say it’s running on Ubuntu 24.10?

$ ldd /usr/bin/pcbnew | grep python
	libpython3.13.so.1.0 => /lib/x86_64-linux-gnu/libpython3.13.so.1.0 (0x00007e7f02000000)

Here the updated information:

Application: KiCad PCB Editor x86_64 on x86_64

Version: 9.0.3-9.0.3-0~ubuntu25.04.1, release build

Libraries:
wxWidgets 3.2.6
FreeType 2.13.3
HarfBuzz 10.2.0
FontConfig 2.15.0
libcurl/8.12.1 OpenSSL/3.4.1 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.8 libpsl/0.21.2 libssh2/1.11.1 nghttp2/1.64.0 librtmp/2.3 OpenLDAP/2.6.9

Platform: Ubuntu 25.04, 64 bit, Little endian, wxGTK, X11, ubuntu, x11
OpenGL: NVIDIA Corporation, NVIDIA GeForce RTX 4080/PCIe/SSE2, 4.6.0 NVIDIA 570.169

Build Info:
Date: Jul 8 2025 13:03:19
wxWidgets: 3.2.6 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.83.0
OCC: 7.8.1
Curl: 8.12.1
ngspice: 44.2
Compiler: GCC 14.2.0 with C++ ABI 1019
KICAD_IPC_API=ON

Locale:
Lang: en_GB
Enc: UTF-8
Num: 1,234.5
Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=25.04
DISTRIB_CODENAME=plucky
DISTRIB_DESCRIPTION="Ubuntu 25.04"
$ python3 --version
Python 3.13.3

But now the initial issue seems fixed. Perhaps there was a mis-alignment between updates.