Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mqtt_enums.CallbackAPIVersion(2) not recognized by supervisor #848

Open
igarreta opened this issue Jun 5, 2024 · 3 comments
Open

mqtt_enums.CallbackAPIVersion(2) not recognized by supervisor #848

igarreta opened this issue Jun 5, 2024 · 3 comments
Labels
Status: Available No one has claimed responsibility for resolving this issue.

Comments

@igarreta
Copy link

igarreta commented Jun 5, 2024

Describe the bug
I was trying to use paho.mqtt.client to receive messages with the following code:

import paho.mqtt.client as mqtt
import paho.mqtt.enums as mqtt_enums

api_version = mqtt_enums.CallbackAPIVersion(2)
client = mqtt.Client(api_version, client_id='client_id')

I was using virtual enviroments, and the script was working.

I added it to supervisor, using the pyhton path inside the .venv folder
/home/pi/tank_level/.venv/bin/python /home/pi/tank_level/tank_level.py

and I started getting the following error message:

 File "/home/pi/tank_level/tank_level.py", line 9, in <module>
    import paho.mqtt.enums as mqtt_enums
ModuleNotFoundError: No module named 'paho.mqtt.enums'

The supervisor command was checked, and it worked fine outside supervisor (without the virtual enviroment activated)

Finally I reverted to v 1.6.1, changed the syntaxis and it is working perfectly.

Environment (please complete the following information):
OS: Raspbian on R Pi 3+
Version : 2.1.0

Final comment
There appears to be something wrong with the import of the paho.mqtt.enums library. I tried several ways of importing it, but none worked inside supervisor.
It is strange that the import paho.mqtt.client works fine inside supervisor, but the next line import paho.mqtt.enums gives an error.
I suggest to give api_version a default value, or to make CallbackAPIVersion easier to find

@github-actions github-actions bot added the Status: Available No one has claimed responsibility for resolving this issue. label Jun 5, 2024
@mesbahkhan
Copy link

Getting the same issue in my raspberry pi environment as well, seems like the enums are not accessible for some reason.
Using version 2.1 of the library

@mpechner
Copy link

Same. version 2.1, raspberry pi, python 3.11. I tried both installing the apt package and a venv with pip install. Same issue.

Tried running example code as is as well as importing enums similar to how Client.py imporrts it. using the full package path of course.

What setup notes am I missing?

@jonnytest1
Copy link

yeah
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Available No one has claimed responsibility for resolving this issue.
Projects
None yet
Development

No branches or pull requests

4 participants