this post was submitted on 07 Jun 2024
25 points (100.0% liked)

Linux

5491 readers
653 users here now

A community for everything relating to the linux operating system

Also check out !linux_memes@programming.dev

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
 

Sounds easy? Well, it should have been. I'm not talking about a "Hello, World!" (although it is more or less on the same level for me). The goal was to write a set of three MQTT clients that properly talk with each other and interact nicely.

So I had to learn Python and MQTT on the same day. Should not be an issue after 40 years of programming. But it quickly turned out that the Python library/package for MQTT on Ubuntu was heavily outdated (1.6), and did not supply all the functions the documentation and examples (2.0) asked for. Using pip3 didn't work, as it complained that the package structure was maintained by the OS. In the end, I had to virtualize the python3 system and pip3 the 2.0 package there and run it.

After about three hours, I had the clients working as they should. Yes, I think MQTT is a good base for the next project.

you are viewing a single comment's thread
view the rest of the comments
[–] sloppy_diffuser@sh.itjust.works 7 points 6 months ago

I recommended checking out package managers that will simplify using whatever version of a library you want with project level virtual environments.

I haven't done heavy python dev since 3.7, so I don't know the full landscape of options these days, but here are some references to dig into.

https://python-poetry.org/ is the one I started using as the first step up from pip.

It looks like there are some new contenders like hatch, rye, and pdm: https://dev.to/adamghill/python-package-manager-comparison-1g98.

There is also pixi referenced from the comments in that article: https://github.com/prefix-dev/pixi