Python pyzmq socket.curve_secretkey提供无效参数错误

Python pyzmq socket.curve_secretkey提供无效参数错误,python,zeromq,Python,Zeromq,我已经安装了libnaid(通过brew)和pyzmq(在virtualenv中,非root)。 我想得到一个曲线验证工作的示例源, (在:) 但它给了我以下错误: Traceback (most recent call last): File "ironhouse.py", line 95, in <module> run() File "ironhouse.py", line 51, in run server.curve_secretkey = serv

我已经安装了libnaid(通过brew)和pyzmq(在virtualenv中,非root)。 我想得到一个曲线验证工作的示例源, (在:) 但它给了我以下错误:

Traceback (most recent call last):
  File "ironhouse.py", line 95, in <module>
    run()
  File "ironhouse.py", line 51, in run
    server.curve_secretkey = server_secret
  File "/Users/aaa/.virtualenvs/zmq/lib/python2.7/site-packages/zmq/sugar/attrsettr.py", line 29, in __setattr__
    self._set_attr_opt(upper_key, opt, value)
  File "/Users/aaa/.virtualenvs/zmq/lib/python2.7/site-packages/zmq/sugar/attrsettr.py", line 33, in _set_attr_opt
    self.set(opt, value)
  File "zmq/backend/cython/socket.pyx", line 343, in zmq.backend.cython.socket.Socket.set (zmq/backend/cython/socket.c:3397)
  File "zmq/backend/cython/checkrc.pxd", line 21, in zmq.backend.cython.checkrc._check_rc (zmq/backend/cython/socket.c:6248)
zmq.error.ZMQError: Invalid argument
回溯(最近一次呼叫最后一次):
文件“ironhouse.py”,第95行,在
运行()
文件“ironhouse.py”,第51行,正在运行
server.curve\u secretkey=server\u secret
文件“/Users/aaa/.virtualenvs/zmq/lib/python2.7/site packages/zmq/sugar/attrstr.py”,第29行,在__
self.\u set\u attr\u opt(上键,opt,值)
文件“/Users/aaa/.virtualenvs/zmq/lib/python2.7/site packages/zmq/sugar/attrsetr.py”,第33行,在属性集合中
self.set(选项,值)
文件“zmq/backend/cython/socket.pyx”,第343行,位于zmq.backend.cython.socket.set(zmq/backend/cython/socket.c:3397)中
文件“zmq/backend/cython/checkrc.pxd”,第21行,在zmq.backend.cython.checkrc.\u check\u rc(zmq/backend/cython/socket.c:6248)中
zmq.error.ZMQError:参数无效

有什么办法可以让它工作吗?谢谢:)

假设LibNasdian已经安装:

删除PyZMQ的当前版本,同时删除libzmq的当前版本

安全-从ZeroMQ网站下载当前版本候选tarball;编译它:

wget http://download.zeromq.org/zeromq-4.1.0-rc1.tar.gz
tar zxvf zeromq-4.1.0-rc1.tar.gz
cd zeromq-4.1.0-rc1
./autogen.sh
./configure && make check
sudo make install
然后,重新安装PyZMQ;它应该针对刚刚安装的新ZeroMQ进行编译


希望curve auth现在能为您工作。

恕我冒犯,但这怎么解决问题呢?它是如何分发Python包的?当然,你不能强迫人们下载PyZMQ并手动编译。尤其是在Windows上。如果你不针对libnaude重新编译ZMQ,你就不会得到curve auth。2016年管理它最简单的方法就是将pyzmq安装到virtualenv中,现在应该可以自动构建LibNasdaq了。