【问题标题】:gevent does not install properly on Ubuntugevent 无法在 Ubuntu 上正确安装
【发布时间】:2011-09-19 20:09:57
【问题描述】:

我想尝试gevent,但安装后我无法加载任何 gevent 模块。

安装步骤为:

sudo apt-get install libevent-dev
sudo pip install greenlet
sudo pip install gevent

环境设置为 Ubuntu 10.10 x86_64 GNU/Linux。

当我尝试做一个简单的测试时,我得到:

>>> import gevent
>>> from gevent import socket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name socket

我怀疑安装没有按照应有的方式进行,但我不确定出了什么问题。

【问题讨论】:

    标签: python gevent


    【解决方案1】:

    尝试了 zzart 发布的内容,但在 Ubuntu Trusty Tahr (14.04) 上仍然出现错误:

    File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2583, in scan_list
        "Expected ',' or end-of-list in",line,"at",line[p:]
    ValueError: ("Expected ',' or end-of-list in", "cffi >= 1.11.5 ; sys_platform == 'win32' and platform_python_implementation == 'CPython'", 'at', " ; sys_platform == 'win32' and platform_python_implementation == 'CPython'")
    

    这解决了它:

    sudo pip install --upgrade setuptools pip
    sudo easy_install gevent
    

    【讨论】:

      【解决方案2】:

      在带有 python 2.6 的 Ubuntu 10.04 上,我必须这样做:

      apt-get 安装 libevent-dev apt-get 安装 python-all-dev easy_install greenlet easy_install gevent

      顺便说一下,关于 Gevent 的不错教程:http://sdiehl.github.com/gevent-tutorial/

      【讨论】:

        【解决方案3】:

        我成功地使用 pip 以“python 方式”安装。这是我所做的:

        我在某处读到 Ubuntu 的设置工具似乎坏了。当你想安装一个包时,它会报告

        用户警告:setuptools [未知版本] (/usr/lib/python2.6/dist-packages)

        的未构建 egg

        这些命令用于修复设置工具:

        sudo rm -rf /usr/lib/python2.6/dist-packages/setuptools.egg-info/
        sudo apt-get install --reinstall python-setuptools
        

        在此之后,我尝试使用 pip 的 --upgrade 参数重新安装这两个包。它没有帮助,但我尝试了 easy_install 并且它有效。我在 pip 之前尝试过,但是损坏的设置工具阻止了它的工作。

        sudo easy_install greenlet
        sudo easy_install gevent
        

        您可以使用最新版本(截至目前为 0.13.6)。

        【讨论】:

          【解决方案4】:

          在 Ubuntu 10.10(及更高版本)中,gevent(和依赖项)打包在 Ubuntu 存储库中。

          11.04:

          $ sudo apt-get install python-gevent
          ...
          $ python
          corey@lenovo:~$ python
          Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
          [GCC 4.5.2] on linux2
          Type "help", "copyright", "credits" or "license" for more information.
          >>> import gevent
          >>> from gevent import socket
          >>> print gevent.__version__
          0.13.0
          

          【讨论】:

          • 没错,虽然不是最新的。存储库的 v0.13.0 日期为 2010 年 7 月......一岁。
          猜你喜欢
          • 2012-11-10
          • 1970-01-01
          • 2015-10-22
          • 2011-08-03
          • 1970-01-01
          • 2015-04-09
          • 1970-01-01
          • 1970-01-01
          • 2020-11-30
          相关资源
          最近更新 更多