От новичка до гуру: Курсы программирования на CyberDuff

Есть ли способ получить доступ к буферам протоколов с помощью python 3.x?

Мы используем Python 3.x в наших проектах. Но официальный клиент Protocol Buffers поддерживает только python 2.x.

Я не хочу переходить на python 2.x.


  • Буферы протокола поддерживают Python 3, начиная с версии 2.6.0. protobuf.googlecode.com/svn/trunk/CHANGES.txt 11.10.2014
  • Репозиторий кода Google исчез, но документ, на который ссылается imxylz, называется здесь. Здесь не сказано, как использовать Python 3 с этой версией, просто сказано, что добавлена ​​поддержка. 06.06.2019

Ответы:


1

ОБНОВЛЕНИЕ 2: Python 3.x изначально поддерживается, начиная с версии 3.0.0.

Версии, выпущенные на GitHub, можно посмотреть здесь: https://github.com/protocolbuffers/protobuf/releases

ОБНОВЛЕНИЕ: стабильная версия protobuf 2.6.1 не поддерживает Python 3.x. Однако более новая версия 3.0.0 (все еще в бета-версии) поддерживает Python 3.x. Версии, выпущенные на PyPi, можно посмотреть здесь: https://pypi.python.org/pypi/protobuf

Нет, нет. Существует обсуждение в группе protobuf google о Поддержка Python 3.X. Это указывает на то, что Google хочет сохранить поддержку Python 2.4, поэтому перенос на Python 3.X непрост. Если проект разветвится или может отказаться от поддержки Python 2.4 и 2.5, его будет намного проще портировать.

29.12.2011
  • Как насчет того, чтобы предложить редактирование, предоставить мне ссылку или ответить на вопрос самому? Комментировать и просто говорить мне, чтобы google не очень полезно. 14.11.2013
  • я думаю, что @piotr имел в виду: старый ответ [.] [P] аренда [,] [G] oogle [(компания),] теперь есть порты на python3 [так что он должен иметь официальную поддержку] 18.12.2013

  • 2

    Вот более новый форк самой последней версии protobuf (2.5.0 + патчи arm64) на данный момент, который поддерживает Python 3 и по-прежнему обратно совместим с Python 2.4: https://github.com/GreatFruitOmsk/protobuf-py3

    19.04.2014
  • Как использовать протокол из этого пакета? Я могу заставить protobuf работать, но мне приходится вручную изменять сгенерированные файлы. Как заставить protoc работать правильно? 31.03.2015
  • Вы должны быть в состоянии сделать это, как обычно. Не могли бы вы создать задачу на github с подробным описанием? 01.04.2015
  • Я понял. Я думал, что этот устаревший протокол будет совместим с этим пакетом, но мне пришлось перекомпилировать весь protobuf-py3 и выполнить установку в системном каталоге, чтобы заменить протокол. После этого работает корректно. 01.04.2015
  • @omikron Я предлагаю попробовать 2.6. Он должен поддерживать Python 3 из коробки. 01.04.2015
  • Я пробовал protobuf 2.6 и 2.6.1, и он не готов к Python 3, потому что вызывает SyntaxError в protobuf/internal. 10.04.2015

  • 3

    В последней версии Google Protocol Buffers (2.6) добавлена ​​поддержка Python 3. Я предлагаю использовать это.

    РЕДАКТИРОВАТЬ: Неважно. Они солгали в своих примечаниях к выпуску.

    25.09.2014

    4

    Существует совместимая имплантация для python 3.x. https://github.com/openx/python3-protobuf

    22.02.2013
  • К сожалению, эта вилка устарела 28.05.2013
  • Обсуждение protobuf Python3 в группах Google: groups.google.com/forum/ #!topic/protobuf/Qalty-PenDA 23.11.2013

  • 5

    Этот пакет должен быть альфа-версией Python 3 Protocol Buffer от Google.

    https://github.com/google/protobuf/releases/download/v3.0.0-alpha-3/protobuf-python-3.0.0-alpha-3.tar.gz

    07.08.2015

    6

    Официальная библиотека Google поддерживает Python 3, начиная с версии 3.0 (29 июля 2016 г.).

    22.06.2018
    Новые материалы

    Веб-приложение для чата с использованием Phoenix и Vue.js - Часть 6
    В этой части мы рассмотрим перенос вещей в отдельные компоненты. Вот все части этой серии: Github: https://github.com/jespr/vue-phoenix-chat Heroku:..

    Почему веб-сборка меняет правила игры? (Часть 1)
    Эта статья написана, чтобы помочь новичкам понять основные концепции: с чего начать? Что для вас есть и какие реальные проблемы вы можете решить? Я уже некоторое время слышу термин..

    Мифы о машинном обучении
    Машинное обучение прошло через несколько волн своего внедрения. С годами доступность данных увеличилась в геометрической прогрессии. В то же время мощность компьютеров увеличилась в соответствии..

    Функциональное тестирование в JavaScript для начинающих
    Функциональное тестирование является неотъемлемой частью процесса разработки программного обеспечения и особенно важно при работе с JavaScript. JavaScript — это универсальный и широко используемый..

    Если вы используете CodeMirror, вам обязательно нужно это проверить
    Представляем радужные скобки🌈 CodeMirror — невероятно мощный редактор кода в браузере. Хотя его API сложен, он дает разработчикам массу возможностей для создания IDE в браузере на любом..

    Пришло время попрощаться с этими устаревшими библиотеками Python
    Поскольку Python продолжает развиваться, некоторые библиотеки, которые когда-то широко использовались, устаревают. Эти устаревшие библиотеки могут вызывать проблемы совместимости, уязвимости в..

    Привет, Зак Аргайл, сначала позвольте мне поблагодарить за эту статью, но я не думаю, что все ваши примеры…
    Привет, Зак Аргайл, сначала позвольте мне поблагодарить за эту статью, но я не думаю, что все ваши примеры компаний, которые придерживаются устаревших кодовых баз, написанных в таких фреймворках,..