Recently, I installed a fresh OpenSuse Tumbleweed, and wanted to see if I can use it with PlatformIO.
So, first thing to do, is to see if it is already installed:
michiel@vega:~> pio
The program 'pio' can be found in following packages:
* python311-platformio [ path: /usr/bin/pio, repository: download.opensuse.org-oss ]
* python312-platformio [ path: /usr/bin/pio, repository: download.opensuse.org-oss ]
* python313-platformio [ path: /usr/bin/pio, repository: download.opensuse.org-oss ]
* python311-platformio [ path: /usr/bin/pio, repository: openSUSE-20240124-0 ]
* python312-platformio [ path: /usr/bin/pio, repository: openSUSE-20240124-0 ]
* python313-platformio [ path: /usr/bin/pio, repository: openSUSE-20240124-0 ]
Try installing with:
sudo zypper install <selected_package>
michiel@vega:~>
Well, that is good news: it seems to be so easy to get started!
Let’s see what python we have here:
michiel@vega:~> python --version
python: command not found
michiel@vega:~> python3 --version
Python 3.11.11
michiel@vega:~> python2 --version
python2: command not found
michiel@vega:~> python3.11 --version
Python 3.11.11
michiel@vega:~> python3.10 --version
The program 'python3.10' can be found in following packages:
* python310-base [ path: /usr/bin/python3.10, repository: download.opensuse.org-oss ]
* python310-base [ path: /usr/bin/python3.10, repository: openSUSE-20240124-0 ]
Try installing with:
sudo zypper install <selected_package>
michiel@vega:~>
Hmmm, no python
? That is confusing.
But I studied this a bit, and it seems this has been done with a reason:
if you install a generic python
and make it point to e.g. python3.11
, then programs that only work with e.g. python3.6
may give errors, and it is hard to trace the origin of these errors. So, the people who created Tumbleweed did not want to deal with that - and force everyone to choose a python version.
So, let’s install platformio:
michiel@vega:~> sudo zypper install python311-platformio
[sudo] password for root:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 4 recommended packages were automatically selected:
python311-httptools python311-PyYAML python311-wcwidth python311-websockets
The following 24 NEW packages are going to be installed:
python311-aiofiles python311-ajsonrpc python311-anyio python311-bottle python311-click
python311-colorama python311-h11 python311-httptools python311-ifaddr
python311-marshmallow python311-packaging python311-platformio python311-pyelftools
python311-pyserial python311-PyYAML python311-semantic_version python311-sniffio
python311-starlette python311-tabulate python311-uvicorn python311-wcwidth
python311-websockets python311-wsproto python311-zeroconf
24 new packages to install.
Package download size: 3,8 MiB
Package install size change:
| 17,1 MiB required by packages that will be installed
17,1 MiB | - 0 B released by packages that will be removed
Backend: classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y):
And a long list of installed packages follows…
Does it work?
michiel@vega:~> pio --version
PlatformIO Core, version 6.1.16
michiel@vega:~>
Yes, it works!