184得票4回答
何时使用Tornado,何时使用Twisted / Cyclone / GEvent / 其他

哪个框架/库是构建现代多用户Web应用程序的最佳选择?我希望拥有一个异步Web服务器,以便我可以轻松扩展。哪种解决方案能够提供最佳性能/可伸缩性/最有用的框架(易于使用和开发)?如果它能提供良好的功能(Websockets,RPC,流等),那就太好了。每种解决方案的优缺点是什么?

156得票4回答
绿色线程(Greenlet)与线程的区别

我刚接触gevents和greenlets。 我找到了一些关于如何使用它们的好文档,但没有给出在什么情况下应该使用greenlets的理由! 它们真正擅长什么? 在代理服务器中使用它们是个好主意吗? 为什么不用线程? 我不确定的是,如果它们基本上是协程,它们如何提供并发。

120得票8回答
动态更改日志级别而无需重新启动应用程序

在 Python 中,是否可以使用 fileConfig 更改日志级别而无需重新启动应用程序?如果不能通过 fileConfig 实现,是否有其他方法可以获得相同的结果? 更新:这是针对运行在服务器上的应用程序,我希望系统管理员可以更改配置文件,该文件将在运行时由应用程序选择并动态更改日志级...

92得票4回答
Python中的字节数组

我该如何在Python中表示字节数组(类似于Java中的byte[])?我需要使用gevent将其发送到网络上。byte key[] = {0x13, 0x00, 0x00, 0x00, 0x08, 0x00};

70得票1回答
Flask中的Websockets

我正在研究Python中的Websocket支持,并对所提供的内容感到有些困惑。 一方面,可以使用Flask + gevent。另一方面,uwsgi具有socket支持,最后还有一个扩展程序将uwsgi和gevent捆绑在一起。 只使用其中一个实现Websockets存在什么问题?混合使用...

69得票1回答
异步IO与Gevent的比较

背景 我曾经在一个使用Python2编写的系统上工作过,其中有很多自定义的同步I/O代码,并且使用线程进行扩展。某个时刻,我们无法进一步扩展它,意识到我们必须转向异步编程。 Twisted 是一个受欢迎的选择,但我们想避免其回调地狱。 它确实有@inlineCallbacks修饰符,有效...

68得票3回答
成功运行py.test后出现模块'threading'中的KeyError错误

我正在使用py.test运行一组测试。它们通过了。太好了!但我收到了以下消息:Exception KeyError: KeyError(4427427920,) in <module 'threading' from '/System/Library/Frameworks/Python....

64得票10回答
如何在Mac OS X Lion上安装Python库'gevent'

Python库gevent,版本0.13.6(PyPI上的当前版本)无法在OS X Lion,Python 2.7(可能还有其他版本)上通过pip install安装。它可以在Snow Leopard上正常工作。 我该如何安装这个库? 如果可以使用pip install而不是手动或自定义过...

43得票3回答
grequests是如何实现异步的?

我已经使用 Python requests 库有一段时间了,最近需要异步地发出请求,也就是说,我想发送 HTTP 请求后,让我的主线程继续执行,并在请求返回时调用回调函数。 自然而然,我找到了 grequests 库(https://github.com/kennethreitz/grequ...

42得票4回答
gevent在Ubuntu上安装不成功

我想尝试使用gevent,但在安装后无法加载任何gevent模块。 安装步骤如下:sudo apt-get install libevent-dev sudo pip install greenlet sudo pip install gevent 环境设置是Ubuntu 10.10 x86...