2013-03-25 46 views
10

所以,我决定用python3编写我的下一个项目,为什么?由于Ubuntu计划在明年内逐渐放弃所有Python2支持,并且只支持Python3。 (从Ubuntu 13.04开始)Python3:寻找替代gevent和pylibmc/python-memcached

gevent和memcached模块没有正式移植到Python3。

对于gevent和pylibmc或python-memcached,有哪些已经正式移植到Python3的替代方法?

回答

0

我被困在同一点。

其核心是greenlet 0.4.0,其是在Python 3可用,但不是完整的文库(geventevenletconcurrence)。

有一些尝试迁移它,但没有运气。

您可以在此网站查询包的可用性:http://py3ksupport.appspot.com/pypi/greenlet

如果我发现有任何替代方案,我会让你知道。

+0

py3ksupport不再存在:( – Druska 2013-11-13 00:54:53

4

Circuits现在已经支持Python 3了,试试吧它很棒。

+0

+1我看着它。不深寿。我会尝试这个滚动和报告发现:) – Nadav 2013-11-04 09:41:09

1

memcached的你可能知道的替代方法:Redis的+ python3

+0

这并不提供答案的问题。要批评或要求作者澄清,请在其帖子下方留言。 – 2013-11-19 10:27:53

+0

它是部分的,但回答关于memcached的问题的一半 – 2013-11-19 14:40:11

+0

谢谢,备选方案很重要,需要指出。但是,就我而言,我无法使用redis。 – Nadav 2013-11-20 11:34:35

0

pymemcache:一个全面,快速,纯Python memcached的客户端。

与其他客户端

pylibmc

的pylibmc库

比较是围绕libmemcached的包装,在 C.完成,实现了快速,实现了一致性哈希,全面的memcached 协议和超时。它不提供访问“noreply” 标志。这还不算纯Python,因此使用它与图书馆一样 GEVENT是出了问题,及其对libmemcached 依赖带来的挑战(例如,它必须针对 相同版本libmemcached,它会在运行时使用建)。

Python的内存缓存

蟒蛇,内存缓存库实现整个memcached的文本 协议,对所有套接字调用一个超时,并具有灵活的 方法序列化和反序列化。它也完全用Python写成 ,所以它适用于像gevent这样的库。 但是,它绑定到使用线程本地,不执行 “noreply”,不能将错误视为缓存未命中,并且比pylibmc和pymemcache都更慢。它还与 处理群集缓存服务器的特定方法有关。