2011-12-29 10 views
18

Chúng tôi sử dụng Python 3.x trong các dự án của chúng tôi. Nhưng khách hàng chính thức của Protocol Buffers chỉ hỗ trợ python 2.x.Có cách nào để truy cập Protocol Buffers với python 3.x không?

Tôi không muốn hạ cấp xuống python 2.x.

+0

Toàn bộ điểm OSS: chuyển nó thành 3.x nếu chủ dự án không. Ngã ba. – alphazero

+0

Bộ đệm giao thức hỗ trợ Python 3 từ phiên bản 2.6.0. http://protobuf.googlecode.com/svn/trunk/CHANGES.txt – imxylz

Trả lời

4

CẬP NHẬT: Phiên bản ổn định của protobuf, 2.6.1, không hỗ trợ Python 3.x. Tuy nhiên, bản phát hành 3.0.0 mới hơn (vẫn còn trong phiên bản beta) hỗ trợ Python 3.x. Bạn có thể xem các phiên bản phát hành trên PyPi tại đây: https://pypi.python.org/pypi/protobuf

Không, không có. Có một discussion on the protobuf google group về hỗ trợ Python 3.X. Nó chỉ ra rằng Google muốn tiếp tục hỗ trợ cho Python 2.4, vì vậy việc chuyển sang Python 3.X không hề dễ dàng. Nếu các dự án chi nhánh hoặc có thể thả hỗ trợ cho Python 2.4 và 2.5, nó sẽ dễ dàng hơn rất nhiều để cổng.

+2

Câu trả lời cũ, xin vui lòng google có cổng để python3 bây giờ – piotr

+1

Làm thế nào về đề xuất một chỉnh sửa, cung cấp cho tôi một liên kết, hoặc trả lời các câu hỏi cho mình? Nhận xét và chỉ nói với tôi về google không phải là rất hữu ích. – jterrace

+7

tôi nghĩ @piotr có nghĩa là: "Câu trả lời cũ [.] [P] cho thuê [,] [G] oogle [(công ty),] có cổng tới python3 bây giờ [vì vậy cần hỗ trợ chính thức]" – underrun

3

Có một bộ cấy tương thích cho python 3.x. https://github.com/openx/python3-protobuf

+2

Thật không may ngã ba này đã lỗi thời –

+1

Thảo luận về protobuf Python3 trên các nhóm google: https://groups.google.com/forum/#!topic/protobuf/Qalty-PenDA – levesque

6

Đây là ngã ba bản mới hơn của hầu hết các phiên bản gần đây của protobuf (bản vá lỗi 2.5.0 + arm64) tại thời điểm này có hỗ trợ Python 3 và vẫn tương thích ngược với Python 2.4: https://github.com/GreatFruitOmsk/protobuf-py3

+0

Cách sử dụng protoc từ gói này? Tôi có thể làm cho protobuf làm việc nhưng phải tự sửa đổi các tập tin được tạo ra. Làm thế nào tôi có thể làm cho protoc làm công việc phải không? – omikron

+0

Bạn sẽ có thể làm điều đó như bình thường. Bạn có thể tạo một vấn đề trên github với mô tả chi tiết? – Kentzo

+0

Tôi đã tìm ra. Tôi mặc dù protoc di sản sẽ tương thích với gói này nhưng tôi đã phải biên dịch lại toàn bộ protobuf-py3 và thực hiện cài đặt trong thư mục hệ thống để thay thế protoc. Sau khi nó hoạt động chính xác. – omikron

4

Phiên bản mới nhất của Nghị định thư Google Bộ đệm (2.6) đã thêm hỗ trợ Python 3. Tôi đề nghị sử dụng nó.

EDIT: Nevermind. Họ nói dối trong các ghi chú phát hành của họ.