两天来,我一直在努力安装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
答案 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默认安装过程简单地安装libzmq5
和libzmq-devel
(运行时和开发)来解决。