2013-03-25 8 views
10

Quindi, ho deciso di scrivere il mio prossimo progetto con python3, perché? A causa del piano per Ubuntu di abbandonare gradualmente tutto il supporto per Python2 entro il prossimo anno e supportare solo Python3. (A partire da Ubuntu 13.04)Python3: Alla ricerca di alternative a gevent e pylibmc/python-memcached

gevent e i moduli memcached non sono ufficialmente portati su Python3.

Quali sono alcune alternative, già ufficialmente convertite in Python3, per gevent e pylibmc o python-memcached?

risposta

0

Sono bloccato nello stesso punto.

suo nucleo è greenlet 0.4.0, che è disponibile in pitone 3, ma non le librerie piene (gevent, evenlet o concurrence).

Ci sono alcuni tentativi di migrarlo, ma senza fortuna.

È possibile verificare la disponibilità dei pacchetti in questo sito: http://py3ksupport.appspot.com/pypi/greenlet

Se trovo qualsiasi alternativa vorrei farvi sapere.

+0

py3ksupport non esiste più :( – Druska

4

Circuits ha ora il supporto per Python 3, provalo è fantastico.

+0

+1 ho guardato dentro. Non profondamente tho. Cercherò di laminazione con questo e riferire le risultanze :) – Nadav

1

per memcached probabilmente sapete alternativa: Redis + python3

+0

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti da un autore, lascia un commento sotto il loro post. –

+0

è parziale, ma rispondi 1/2 di domanda su memcached –

+0

Grazie, le alternative sono importanti da segnalare. Tuttavia, nel mio caso, non posso usare i redis. – Nadav

0

pymemcache: Un completo, veloce, puro-Python client memcached.

Confronto con altri client

pylibmc

La biblioteca pylibmc è un wrapper per libmemcached, implementato in C. E 'veloce, implementa hashing coerente, la piena memcached protocollo e timeout. Non fornisce l'accesso al flag "noreply" . Inoltre non è Python puro, quindi usarlo con librerie come gevent è fuori questione e la sua dipendenza su libmemcached pone dei problemi (ad es., Deve essere costruita contro la stessa versione di libmemcached che userà in runtime).

pitone-memcache

La libreria pitone memcache implementa l'intero protocollo testo memcached , ha un unico timeout per tutte le chiamate di socket e ha un approccio flessibile di serializzazione e deserializzazione. È anche scritto interamente in Python, quindi funziona bene con le librerie come gevent. Tuttavia, è legato all'utilizzo di thread locals, non implementa "noreply", non può trattare gli errori mancherà di cache ed è più lento di entrambi i pylibmc e pymemcache. È inoltre legato a un metodo specifico per la gestione dei cluster di server memcached per .