我无法安装 Gevent

I can't install Gevent

我需要为 python2.7 安装 Gevent,但在几乎所有尝试之后我仍然没有安装它。
我有 python 2.6.6,这里一切正常......但我需要 python2.7+ 然后我安装 python 2.7.9,现在只有问题...... 在我的项目的某些部分在 python 2.6 中正常工作之前,但现在我的项目没有 运行 witn 2.6 和 2.7,不知道为什么它停止使用 2.6 但 nvm 我需要它与 2.7 但是.. .. 我无法安装 gevent,我已经安装了 libevent-devel 和 greenlet 但我无法安装 gevent

# pip2.7 install gevent
Collecting gevent
  Using cached gevent-1.0.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): greenlet in /usr/local/lib/python2.7/site-packages (from gevent)
Installing collected packages: gevent
  Running setup.py install for gevent
    configure: error: in `/tmp/pip-build-fpnLvN/gevent/build/temp.linux-x86_64-2.7/libev':
    configure: error: cannot run C compiled programs.
    If you meant to cross compile, use `--host'.
    See `config.log' for more details
    Running '/bin/sh /tmp/pip-build-fpnLvN/gevent/libev/configure > configure-output.txt' in /tmp/pip-build-fpnLvN/gevent/build/temp.linux-x86_64-2.7/libev
    building 'gevent.core' extension
    ccache gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.linux-x86_64-2.7/libev -Ilibev -I/usr/local/include/python2.7 -c gevent/gevent.core.c -o build/temp.linux-x86_64-2.7/gevent/gevent.core.o
    In file included from gevent/libev.h:2,
                     from gevent/gevent.core.c:313:
    libev/ev.c:45:22: error: config.h: No such file or directory
    libev/ev.c:477:48: warning: "/*" within comment
    In file included from gevent/libev.h:2,
                     from gevent/gevent.core.c:313:
    libev/ev.c:1531: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’
    In file included from gevent/libev.h:2,
                     from gevent/gevent.core.c:313:
    libev/ev.c: In function ‘ev_io_start’:
    libev/ev.c:3554: warning: suggest parentheses around arithmetic in operand of ‘|’
    libev/ev.c:4795:27: warning: "/*" within comment
    libev/ev.c:4796:27: warning: "/*" within comment
    error: command 'ccache' failed with exit status 1
    Complete output from command /usr/local/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-fpnLvN/gevent/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Ruy7Xb-record/install-record.txt --single-version-externally-managed --compile:
    running install

    running build

    running build_py

    creating build

    creating build/lib.linux-x86_64-2.7

    creating build/lib.linux-x86_64-2.7/gevent

    copying gevent/resolver_thread.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/socket.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/threadpool.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/util.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/__init__.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/monkey.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/queue.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/coros.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/server.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/_threading.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/thread.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/select.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/hub.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/fileobject.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/wsgi.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/pywsgi.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/event.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/greenlet.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/ssl.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/local.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/subprocess.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/threading.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/os.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/win32util.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/baseserver.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/lock.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/backdoor.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/pool.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/resolver_ares.py -> build/lib.linux-x86_64-2.7/gevent

    copying gevent/timeout.py -> build/lib.linux-x86_64-2.7/gevent

    running build_ext

    configure: error: in `/tmp/pip-build-fpnLvN/gevent/build/temp.linux-x86_64-2.7/libev':

    configure: error: cannot run C compiled programs.

    If you meant to cross compile, use `--host'.

    See `config.log' for more details

    Running '/bin/sh /tmp/pip-build-fpnLvN/gevent/libev/configure > configure-output.txt' in /tmp/pip-build-fpnLvN/gevent/build/temp.linux-x86_64-2.7/libev

    building 'gevent.core' extension

    creating build/temp.linux-x86_64-2.7/gevent

    ccache gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.linux-x86_64-2.7/libev -Ilibev -I/usr/local/include/python2.7 -c gevent/gevent.core.c -o build/temp.linux-x86_64-2.7/gevent/gevent.core.o

    In file included from gevent/libev.h:2,

                     from gevent/gevent.core.c:313:

    libev/ev.c:45:22: error: config.h: No such file or directory

    libev/ev.c:477:48: warning: "/*" within comment

    In file included from gevent/libev.h:2,

                     from gevent/gevent.core.c:313:

    libev/ev.c:1531: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’

    In file included from gevent/libev.h:2,

                     from gevent/gevent.core.c:313:

    libev/ev.c: In function ‘ev_io_start’:

    libev/ev.c:3554: warning: suggest parentheses around arithmetic in operand of ‘|’

    libev/ev.c:4795:27: warning: "/*" within comment

    libev/ev.c:4796:27: warning: "/*" within comment

    error: command 'ccache' failed with exit status 1

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

我的问题有解决方案enter link description here

可能这是最重要的(代替 python2.X 输入您的 python 版本。例如 python2.7export PYTHONPATH=$HOME/.local/lib/python/site-packages:$PYTHONPATH
export PYTHONPATH=$HOME/.local/lib/python2.X/site-packages:$PYTHONPATH
export PATH=$HOME/.local/bin:$PATH

安装这个对我有用,

sudo apt-get install libevent-dev
sudo apt-get install python-all-dev

然后,

pip install greenlet
pip install gevent

它对我有用。首先从 Pipfile.lock

中删除 gevent
"gevent": {
        "hashes": [
            "sha256:004cdbc6c18b4076acfa256c1794abf87bf9b97e0cfd4136f5098535c4b4132e",
            "sha256:3ae1ca0f533ddcb17aab16ce66b424b3f3b855ff3b9508526915d3c6b73fba31",
            "sha256:704a048005e6389fcb8276113bb9e7d0a3160bc382b9bcc629e398a43645de5c",
            "sha256:80ee22c28dae6dc70c7e4385f0d0292da9eebccf14b90620a32f10d71797838e",
            "sha256:aa224957cbbc028bbdfbec89625c7efa66bb8ddb845ed2fe323bd6b24e919dcf",
            "sha256:f3e8656f0b7bce355f14896d0b644c0a91e01fa12d9d65e6b09faad1d2c06e65"
        ],
        "index": "pypi",
        "version": "==1.0.2"
}

然后手动安装geventpipenv install gevent

希望对你有用。

此外: sudo apt-get 安装 libevent-dev sudo apt-get install python-all-dev

我还需要安装(我用的是python3)来解决类似的问题 sudo apt-get install python3-dev

我尝试按照其他一些答案的描述安装一堆其他软件包,所以不确定是否有任何帮助,但最终让它工作的是使用 easy_install 而不是pip:

easy_install gevent

我在尝试安装 gevent-websocket 0.10.1 时遇到错误,但是当我安装 greenlet 时问题就解决了:

pip3 install greenlet

首先然后:

pip3 install gevent-websocket

我设法通过使用编译的二进制文件而不是 pip 在我的 raspberry pi 零上解决了同样的问题。

sudo apt-get install python-gevent

有类似的问题,用

升级pip
pip install --upgrade pip

对我有用。确保您拥有最新版本。就我而言,我假设创建一个新的虚拟环境会自动提供最新版本,但我错了。