Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

opencensus-ext-azure doesn't support protobuf > 3.20 #1171

Open

Description

@urucoder

Describe your environment.

Python: 3.9.x
Packages:
opencensus==0.11.0
opencensus-context==0.1.3
opencensus-ext-azure==1.1.7
protobuf==4.21.9

Steps to reproduce.
Create an environment with the packages defined above and try the following import
from opencensus.ext.azure.trace_exporter import AzureExporter

What is the expected behavior?
AzureExporter is imported successfully

What is the actual behavior?
It crashes with the following error

Exception has occurred: TypeError (note: full exception trace is shown but execution is paused at: _run_module_as_main)
Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

Activity

  1. added a commit that references this issue on Jan 6, 2023
  2. lzchen commented on Jan 9, 2023

    @lzchen
    Contributor

    This does not seem an issue with the opencensus-ext-azure package specifically. The opencensus package has a dependency on google-api-core, which in turn takes a dependency on a version of protobuf. I've tested the versions of protobuf and it looks like protobuf v4.x will break opencensus. We should probably pin protobuf in opencensus instead. @aabmass thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions