Skip to content

ImportError: cannot import name '_ExtendedAttributes' from 'opentelemetry.util.types' #4811

@matteo-stat

Description

@matteo-stat

Describe your environment

OS: Linux
Python version: 3.13
SDK version: 1.38.0
API version: 1.38.0

What happened?

I'm facing the same exact issue described on a previous issue #4698

When publishing a python web app on azure i get the following error _"ImportError: cannot import name 'ExtendedAttributes' from 'opentelemetry.util.types'".

Steps to Reproduce

create a app.py file with the following code

import chainlit as cl

@cl.on_message
async def main(message: cl.Message):
    # Your custom logic goes here...

    # Send a response back to the user
    await cl.Message(
        content=f"Received: {message.content}",
    ).send()

this is the content of requirements.txt

chainlit

publish to azure web app with startup command "chainlit run app.py", and then the mentioned error occurs

Expected Result

no error regarding the import

Actual Result

Connected!
2025-11-19T16:39:44.760417754Z     _____
2025-11-19T16:39:44.760462270Z    /  _  \ __________ _________   ____
2025-11-19T16:39:44.760465700Z   /  /_\  \\___   /  |  \_  __ \_/ __ \
2025-11-19T16:39:44.760468104Z  /    |    \/    /|  |  /|  | \/\  ___/
2025-11-19T16:39:44.760470152Z  \____|__  /_____ \____/ |__|    \___  >
2025-11-19T16:39:44.760472939Z          \/      \/                  \/
2025-11-19T16:39:44.760474933Z  A P P   S E R V I C E   O N   L I N U X
2025-11-19T16:39:44.760476876Z
2025-11-19T16:39:44.760478635Z  Documentation    : http://aka.ms/webapp-linux
2025-11-19T16:39:44.760480650Z  Python quickstart: https://aka.ms/python-qs
2025-11-19T16:39:44.760482617Z  Python version   : 3.13.8
2025-11-19T16:39:44.760484602Z  Instance Name    : ......
2025-11-19T16:39:44.760486581Z  Instance Id      : .......
2025-11-19T16:39:44.760488644Z
2025-11-19T16:39:44.760490431Z  Note: Any data outside '/home' is not persisted
2025-11-19T16:39:47.009221736Z  Starting OpenBSD Secure Shell server: sshd.
2025-11-19T16:39:47.023552521Z  WEBSITES_INCLUDE_CLOUD_CERTS is not set to true.
2025-11-19T16:39:47.055093829Z  Updating certificates in /etc/ssl/certs...
2025-11-19T16:39:59.381429905Z  rehash: warning: skipping duplicate certificate in azl_SSL.com_TLS_ECC_Root_CA_2022.pem
2025-11-19T16:39:59.381485567Z  rehash: warning: skipping duplicate certificate in azl_SSL.com_TLS_RSA_Root_CA_2022.pem
2025-11-19T16:39:59.607221791Z  rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
2025-11-19T16:39:59.639143114Z  4 added, 0 removed; done.
2025-11-19T16:39:59.639696215Z  Running hooks in /etc/ca-certificates/update.d...
2025-11-19T16:39:59.649180317Z  done.
2025-11-19T16:39:59.666629622Z  CA certificates copied and updated successfully.
2025-11-19T16:39:59.727779800Z  Site's appCommandLine: chainlit run app.py --headless --host 0.0.0.0 --port 8000 --no-cache
2025-11-19T16:39:59.727822159Z  Launching oryx with: create-script -appPath /home/site/wwwroot -output /opt/startup/startup.sh -virtualEnvName antenv -defaultApp /opt/defaultsite -userStartupCommand 'chainlit run app.py --headless --host 0.0.0.0 --port 8000 --no-cache'
2025-11-19T16:39:59.788402346Z  Found build manifest file at '/home/site/wwwroot/oryx-manifest.toml'. Deserializing it...
2025-11-19T16:39:59.792693843Z  Build Operation ID: d45a0d2a4b4136ff
2025-11-19T16:39:59.794845285Z  Oryx Version: 0.2.20251017.2, Commit: 482d4c55e818733ab33b9d2131f9dc485a21fd03, ReleaseTagName: 20251017.2
2025-11-19T16:39:59.795131180Z  Output is compressed. Extracting it...
2025-11-19T16:39:59.797776530Z  Extracting '/home/site/wwwroot/output.tar.gz' to directory '/tmp/8de2789981789ab'...
2025-11-19T16:40:13.982955260Z  App path is set to '/tmp/8de2789981789ab'
2025-11-19T16:40:13.987692381Z  Writing output script to '/opt/startup/startup.sh'
2025-11-19T16:40:19.218828594Z  Using packages from virtual environment antenv located at /tmp/8de2789981789ab/antenv.
2025-11-19T16:40:19.218855184Z  Updated PYTHONPATH to '/agents/python:/opt/startup/app_logs:/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages'
2025-11-19T16:40:42.231390866Z  Traceback (most recent call last):
2025-11-19T16:40:42.232232336Z    File "/tmp/8de2789981789ab/antenv/bin/chainlit", line 3, in <module>
2025-11-19T16:40:42.232244016Z      from chainlit.cli import cli
2025-11-19T16:40:42.232246585Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/chainlit/__init__.py", line 18, in <module>
2025-11-19T16:40:42.232248990Z      from literalai import ChatGeneration, CompletionGeneration, GenerationMessage
2025-11-19T16:40:42.233040097Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/literalai/__init__.py", line 1, in <module>
2025-11-19T16:40:42.233449544Z      from literalai.client import AsyncLiteralClient, LiteralClient
2025-11-19T16:40:42.233453153Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/literalai/client.py", line 7, in <module>
2025-11-19T16:40:42.233455718Z      from traceloop.sdk import Traceloop
2025-11-19T16:40:42.233457816Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/traceloop/sdk/__init__.py", line 17, in <module>
2025-11-19T16:40:42.233460268Z      from traceloop.sdk.metrics.metrics import MetricsWrapper
2025-11-19T16:40:42.233462592Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/traceloop/sdk/metrics/metrics.py", line 4, in <module>
2025-11-19T16:40:42.233464922Z      from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import (
2025-11-19T16:40:42.233467099Z          OTLPMetricExporter as GRPCExporter,
2025-11-19T16:40:42.233469276Z      )
2025-11-19T16:40:42.233471255Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py", line 23, in <module>
2025-11-19T16:40:42.233473530Z      from opentelemetry.exporter.otlp.proto.common._internal.metrics_encoder import (
2025-11-19T16:40:42.233475591Z          OTLPMetricExporterMixin,
2025-11-19T16:40:42.234708849Z      )
2025-11-19T16:40:42.235135948Z    File "/tmp/8de2789981789ab/antenv/lib/python3.13/site-packages/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py", line 46, in <module>
2025-11-19T16:40:42.235144416Z      from opentelemetry.util.types import _ExtendedAttributes
2025-11-19T16:40:42.235146691Z  ImportError: cannot import name '_ExtendedAttributes' from 'opentelemetry.util.types' **(/agents/python/opentelemetry/util/types.py)**

Additional context

this is the full requirements.txt after the virtual environment has been created

aiofiles==24.1.0 aiohappyeyeballs==2.6.1 aiohttp==3.13.2 aiosignal==1.4.0 annotated-doc==0.0.4 annotated-types==0.7.0 anthropic==0.74.0 anyio==4.11.0 asyncer==0.0.10 attrs==25.4.0 backoff==2.2.1 bidict==0.23.1 certifi==2025.11.12 cffi==2.0.0 chainlit==2.9.0 charset-normalizer==3.4.4 chevron==0.14.0 click==8.3.1 colorama==0.4.6 cryptography==46.0.3 cuid==0.4 dataclasses-json==0.6.7 Deprecated==1.3.1 distro==1.9.0 docstring_parser==0.17.0 fastapi==0.121.2 filelock==3.20.0 filetype==1.2.0 frozenlist==1.8.0 fsspec==2025.10.0 googleapis-common-protos==1.72.0 grpcio==1.76.0 h11==0.16.0 hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.3 huggingface_hub==1.1.4 idna==3.11 importlib_metadata==8.7.0 inflection==0.5.1 Jinja2==3.1.6 jiter==0.12.0 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 Lazify==0.4.0 literalai==0.1.201 MarkupSafe==3.0.3 marshmallow==3.26.1 mcp==1.21.2 monotonic==1.6 multidict==6.7.0 mypy_extensions==1.1.0 nest-asyncio==1.6.0 opentelemetry-api==1.38.0 opentelemetry-exporter-otlp-proto-common==1.38.0 opentelemetry-exporter-otlp-proto-grpc==1.38.0 opentelemetry-exporter-otlp-proto-http==1.38.0 opentelemetry-instrumentation==0.59b0 opentelemetry-instrumentation-alephalpha==0.48.1 opentelemetry-instrumentation-anthropic==0.48.1 opentelemetry-instrumentation-bedrock==0.48.1 opentelemetry-instrumentation-chromadb==0.48.1 opentelemetry-instrumentation-cohere==0.48.1 opentelemetry-instrumentation-crewai==0.48.1 opentelemetry-instrumentation-google-generativeai==0.48.1 opentelemetry-instrumentation-groq==0.48.1 opentelemetry-instrumentation-haystack==0.48.1 opentelemetry-instrumentation-lancedb==0.48.1 opentelemetry-instrumentation-langchain==0.48.1 opentelemetry-instrumentation-llamaindex==0.48.1 opentelemetry-instrumentation-logging==0.59b0 opentelemetry-instrumentation-marqo==0.48.1 opentelemetry-instrumentation-mcp==0.48.1 opentelemetry-instrumentation-milvus==0.48.1 opentelemetry-instrumentation-mistralai==0.48.1 opentelemetry-instrumentation-ollama==0.48.1 opentelemetry-instrumentation-openai==0.48.1 opentelemetry-instrumentation-openai-agents==0.48.1 opentelemetry-instrumentation-pinecone==0.48.1 opentelemetry-instrumentation-qdrant==0.48.1 opentelemetry-instrumentation-redis==0.59b0 opentelemetry-instrumentation-replicate==0.48.1 opentelemetry-instrumentation-requests==0.59b0 opentelemetry-instrumentation-sagemaker==0.48.1 opentelemetry-instrumentation-sqlalchemy==0.59b0 opentelemetry-instrumentation-threading==0.59b0 opentelemetry-instrumentation-together==0.48.1 opentelemetry-instrumentation-transformers==0.48.1 opentelemetry-instrumentation-urllib3==0.59b0 opentelemetry-instrumentation-vertexai==0.48.1 opentelemetry-instrumentation-watsonx==0.48.1 opentelemetry-instrumentation-weaviate==0.48.1 opentelemetry-instrumentation-writer==0.48.1 opentelemetry-proto==1.38.0 opentelemetry-sdk==1.38.0 opentelemetry-semantic-conventions==0.59b0 opentelemetry-semantic-conventions-ai==0.4.13 opentelemetry-util-http==0.59b0 packaging==25.0 posthog==3.25.0 propcache==0.4.1 protobuf==6.33.1 pycparser==2.23 pydantic==2.12.4 pydantic-settings==2.12.0 pydantic_core==2.41.5 PyJWT==2.10.1 python-dateutil==2.9.0.post0 python-dotenv==1.2.1 python-engineio==4.12.3 python-multipart==0.0.20 python-socketio==5.14.3 pywin32==311 PyYAML==6.0.3 referencing==0.37.0 requests==2.32.5 rpds-py==0.29.0 shellingham==1.5.4 simple-websocket==1.1.0 six==1.17.0 sniffio==1.3.1 sse-starlette==3.0.3 starlette==0.49.3 syncer==2.0.3 tenacity==9.1.2 tokenizers==0.22.1 tomli==2.3.0 tqdm==4.67.1 traceloop-sdk==0.48.1 typer-slim==0.20.0 typing-inspect==0.9.0 typing-inspection==0.4.2 typing_extensions==4.15.0 urllib3==2.5.0 uvicorn==0.38.0 watchfiles==0.24.0 wrapt==1.17.3 wsproto==1.3.1 yarl==1.22.0 zipp==3.23.0

Would you like to implement a fix?

None

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions