pyzmq
pyzmq copied to clipboard
dish.join problem
Hi,
I installed the last version of pyzmq 24.0.1
and its seems that it contain the draft options, therefore radio and dish are included.
I try to run your radio-dish example:
but the following message showed:
Traceback (most recent call last):
File "C:/Users/ShacharZ/Desktop/pythonProject2/main.py", line 12, in
I will be happy for any help.
I don't know much about draft sockets. Questions about libzmq behavior are better posted to libzmq, since they aren't specific to pyzmq.
Were you able to come up with a way to work around this issue, or did you otherwise figure out what was wrong? I'm running into the same problem on dish.join(group). When I separate out the RADIO bits, I also get the cython/checkrc.pxd error "zmq.error.ZMQError: Success" on radio.send(message, group) when the Frame tries to set the group.
I am wondering if it is possible for my pyzmq to be partially installed incorrectly in some way? I followed DRAFT API install instructions and everything seems correct from what I can see (e.g., zmq.zmq_version(), zmq.DRAFT_API).
@weston-nrl ZMQError: Success
does sound like it would be a pyzmq bug misinterpreting return codes, but I'd need more information to identify why it's happening. Ideally a reproduction case I can run.
Here's a complete working example of installing pyzmq with drafts in docker, showing that everything's working as intended.
@minrk thanks for the sanity check -- that docker builds and runs just fine for me also. Comparing the 'pip -v' install logs between that and my Ubuntu 22.04 system's pip install shows that my system is failing to add -DZMQ_BUILD_DRAFT_API=1
to the gcc commands for building everything inside 'zmq.backend.cython'. I'm guessing that's ultimately causing the cython-related errors on DRAFT API calls, but I don't understand what is causing that option to be missing, since I'm using the same build commands. I'm using system-included pip 22.0.2 vs 23.0.1 in the docker image, but it's not clear to me if that could cause such an issue? If you have any other ideas as to what could cause that, I would appreciate the insight.
sudo was my system's problem -- I was running pip as sudo, and it was removing the ZMQ_DRAFT_API environment variable before running pip, so I'm not sure why zmq.DRAFT_API was reporting True at all, or why RADIO/DISH partially worked. In any case, ZMQError: Success is gone after fixing that, and the OP's error that I was getting before is gone as well.