用Cygwin安装pzmq

时间:2015-06-26 22:12:12

标签: python windows gcc cygwin ipython-notebook

两天来,我一直在努力安装pyzmq,我真的不确定是什么问题。

我收到的错误消息:

pip install pyzmq

是:

 error: command 'gcc' failed with exit status 1

我安装了gcc。

which gcc
/usr/bin/gcc

Python安装在同一位置。我真的很难找到解决方案。

编辑:添加错误输出,以下是进一步描述错误的输出:

 bundled/zeromq/src/signaler.cpp:62:25: fatal error: sys/eventfd.h: No  such file or directory
  #include <sys/eventfd.h>
                         ^
compilation terminated.
error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip- build-INbMj2/pyzmq/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), 
__file__, 'exec'))" install --record /tmp/pip-n8hQ_h-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-INbMj2/pyzmq

编辑二:遵循https://github.com/zeromq/pyzmq/issues/391

的安装说明
pip install pyzmq --install-option="fetch_libzmq"

收益率:

#include <sys/eventfd.h>
                         ^
compilation terminated.
error: command 'gcc' failed with exit status 1

下一步:

pip install --no-use-wheel pyzmq --global-option='fetch_libzmq' --install-option='--zmq=bundled'

收率:

#include <sys/eventfd.h>
                         ^
compilation terminated.
error: command 'gcc' failed with exit status 1

3 个答案:

答案 0 :(得分:8)

自己陷入这个问题。经过大量研究后得出以下结论:

cygwin不支持eventfd功能。如果您在/usr/include/sys办理登机手续,则会发现eventfd.h不存在。我不确定为什么cygwin不支持这一点 - 但是我能够找到https://cygwin.com/ml/cygwin/2012-10/msg00198.html暗示同样多的东西以及丢失的头文件,我的结论是我们是SOL,直到它被添加为止

有关更多信息,请参阅包含eventfd.h的glibc的github repo: https://github.com/lattera/glibc/tree/a2f34833b1042d5d8eeb263b4cf4caaea138c4ad/sysdeps/unix/sysv/linux/sys

这是cygwin附带的核心开发文件列表(注意eventfd是丢失文件之一): https://cygwin.com/cgi-bin2/package-grep.cgi?grep=cygwin-devel&arch=x86

BTW - 如果您正在尝试安装ipython笔记本(这就是我遇到此错误的方式),作为一种解决方法,我使用了wakari.io,它为ipython笔记本提供了一个Web界面。

答案 1 :(得分:8)

python3-zmq是cygwin中的一个包。假设您正在尝试安装python 3,如果您使用的是apt-cyg软件包管理器,则可以使用

进行安装。
apt-cyg install python3-zmq

答案 2 :(得分:6)

这是旧的,但我今天遇到了同样的错误信息。通过使用Cygwin默认安装过程简单地安装libzmq5libzmq-devel(运行时和开发)来解决。