ironsheep/RPi-Reporter-MQTT2HA-Daemon

Pip3 install requirements txt error

danmrossi opened this issue · 7 comments

Hi All

Running latest Ubuntu Server 23.04 on a Raspberry Pi 4 with all latest apt updates/upgrades as of this morning.

Going through your install instructions step by step and I get stuck on sudo pip3 install -r requirements.txt

Error I’m stuck on and googling is no help as python debugging ain’t my skill set is:

image

I ended up using —break-system-packages

bsimmo commented
bsimmo commented

So i did the system apt install path:

sudo apt install python3-paho-mqtt pyhton3-wheel python3-sdnotify python3-unidecode python3-colorama python3-tzlocal python3-requests

which resulted in

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3-colorama is already the newest version (0.4.4-1).
python3-paho-mqtt is already the newest version (1.5.1-1).
python3-requests is already the newest version (2.25.1+dfsg-2).
python3-sdnotify is already the newest version (0.3.1-2).
python3-tzlocal is already the newest version (2.1-1).
python3-unidecode is already the newest version (1.2.0-1).
python3-wheel is already the newest version (0.34.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

compared this to the requirements file,

colorama>=0.4.3
paho-mqtt>=1.4.0
requests>=2.28.2
sdnotify>=0.3.1
tzlocal>=2.1.0
wheel>=0.29.0
Unidecode>=0.4.21

it seems requirements are met.

I believe

So i did the system apt install path:

sudo apt install python3-paho-mqtt pyhton3-wheel python3-sdnotify python3-unidecode python3-colorama python3-tzlocal python3-requests

which resulted in

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3-colorama is already the newest version (0.4.4-1).
python3-paho-mqtt is already the newest version (1.5.1-1).
python3-requests is already the newest version (2.25.1+dfsg-2).
python3-sdnotify is already the newest version (0.3.1-2).
python3-tzlocal is already the newest version (2.1-1).
python3-unidecode is already the newest version (1.2.0-1).
python3-wheel is already the newest version (0.34.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

compared this to the requirements file,

colorama>=0.4.3
paho-mqtt>=1.4.0
requests>=2.28.2
sdnotify>=0.3.1
tzlocal>=2.1.0
wheel>=0.29.0
Unidecode>=0.4.21

it seems requirements are met.

I believe this should be:

sudo apt install python3-paho-mqtt python3-wheel python3-sdnotify python3-unidecode python3-colorama python3-tzlocal python3-requests

... Unless you have a really weird python3-wheel -package, of course :)

Ahhh.... Python on Raspberry Pi

The latest os has made changes. I'll need to update the install instructions for this new OS and later.
I'm learning venv setup and will adjust my instructions when I figure out a good approach.

Meanwhile, Which would you see using more? A per-user setup for Venv or a per-project setup?

What I do is:

cd /opt/RPi-Reporter-MQTT2HA-Daemon
mkdir venv
python3 -m venv venv # create the virtual environment
. venv/bin/activate # activate the virtual environment
pip install -r requirements.txt
python3 ISP-RPi-mqtt-daemon.py

and then in isp-rpi-reporter.service, I do

-ExecStart=/usr/bin/python3 -u /opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py
+ExecStart=/opt/RPi-Reporter-MQTT2HA-Daemon/venv/bin/python3 -u /opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py