2013-03-25 92 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都更慢。它還與 處理羣集緩存服務器的特定方法有關。