2011-12-29 8 views
18

Utilizziamo Python 3.x nei nostri progetti. Ma il client ufficiale di Protocol Buffers supporta solo python 2.x.C'è un modo per accedere ai protocolli Buffer con python 3.x?

Non voglio eseguire il downgrade a python 2.x.

+0

Il punto centrale di OSS: porta a 3.x da soli se il proprietario del progetto non lo faranno. Forchetta. – alphazero

+0

I buffer di protocollo supportano Python 3 dalla versione 2.6.0. http://protobuf.googlecode.com/svn/trunk/CHANGES.txt – imxylz

risposta

4

UPDATE: la versione stabile di protobuf, 2.6.1, non supporta Python 3.x. Tuttavia, la versione 3.0.0 più recente (ancora in versione beta) supporta Python 3.x. Puoi vedere le versioni rilasciate su PyPi qui: https://pypi.python.org/pypi/protobuf

No, non c'è. C'è un discussion on the protobuf google group sul supporto per Python 3.X. Indica che Google vuole mantenere il supporto per Python 2.4, quindi il porting su Python 3.X non è facile. Se il progetto si dirama o può rilasciare il supporto per Python 2.4 e 2.5, sarebbe molto più facile portarlo.

+2

Vecchia risposta, per favore google ci sono le porte per python3 ora – piotr

+1

Che ne dici di proporre una modifica, fornendomi un collegamento o rispondendo alla domanda tu stesso? Commentare e semplicemente dirmi di google non è molto utile. – jterrace

+7

penso che @piotr significasse: "Vecchia risposta [.] [P] locazione [,] [G] oogle [(la società),] ci sono porte per python3 ora [quindi dovrebbe avere il supporto ufficiale]" – underrun

3

Esiste un impianto compatibile per python 3.x. https://github.com/openx/python3-protobuf

+2

Sfortunatamente questo fork non è aggiornato –

+1

Discussione su Python3 protobuf su gruppi di google: https://groups.google.com/forum/#!topic/protobuf/Qalty-PenDA – levesque

6

Ecco la più recente fork di versione più recente di protobuf (patch 2.5.0 + arm64) nel momento in cui supporta Python 3 e ancora compatibile con Python 2.4: https://github.com/GreatFruitOmsk/protobuf-py3

+0

Come usare protoc da questo pacchetto? Sono in grado di far funzionare protobuf ma devo modificare manualmente i file generati. Come posso fare in modo che protoc faccia il lavoro giusto? – omikron

+0

Dovresti poterlo fare come al solito. Potresti creare un problema su github con una descrizione dettagliata? – Kentzo

+0

L'ho capito. Tuttavia, quel protoc legacy sarebbe compatibile con questo pacchetto, ma ho dovuto ricompilare l'intero protobuf-py3 e installare install in dir del sistema per sostituire protoc. Dopo questo funziona correttamente. – omikron

4

L'ultima versione del protocollo di Google Buffers (2.6) ha aggiunto il supporto per Python 3. Suggerisco di usarlo.

EDIT: Nevermind. Hanno mentito nelle loro note di rilascio.

Problemi correlati