Este tema enumera las versiones de Python, los componentes de terceros y los frameworks que admite el agente de Python.
Versiones de Python compatibles
Versiones de Protobuf compatibles
El agente de Python utiliza Protobuf para la codificación y el reporte de datos. Esto puede generar conflictos con la versión de Protobuf que usa su aplicación. El agente de Python es compatible con las siguientes versiones de Protobuf:
"protobuf>=3.20.0, < 7.0"
La integración del agente puede modificar las versiones de algunas dependencias, como Protobuf. Para evitar errores inesperados derivados de estos cambios, utilice uno de los siguientes métodos:
Si ya instaló una dependencia, como Protobuf, ejecute el siguiente comando para aumentar su prioridad:
# View the package installation path
python3 -m site
# The output is similar to the following
sys.path = [
'/app',
'/usr/local/lib/python3.9',
'/usr/local/lib/python3.9/site-packages'
]
# Set the PYTHONPATH environment variable to prioritize your dependency version
# Use colons (:) to separate different paths
export PYTHONPATH=/app:/usr/local/lib/python3.9:/usr/local/lib/python3.9/site-packages
Si el Método 1 no resuelve el problema, manually install the Python agent. Después de integrar el agente, ejecute el siguiente comando para forzar una versión específica de la dependencia:
pip3 install xx==${your_original_dependency_version} --force-reinstall
Versiones de la API de OpenTelemetry compatibles
El agente de Python se implementa según la especificación de la API de OpenTelemetry. Dado que las distintas versiones de esta API pueden presentar diferencias menores, el agente de Python admite el siguiente rango de versiones:
"opentelemetry-api <= 1.40.0"
Compatibilidad con frameworks de Python
Revise estos requisitos específicos de cada framework antes de continuar.
uvicorn
Si su aplicación se inicia con uvicorn, elija uno de los siguientes enfoques:
Enfoque A: Importar el agente en el código. Agregue esta sentencia de importación en la primera línea de su archivo de entrada de uvicorn:
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
**Enfoque B: Cambiar a gunicorn con el prefijo aliyun-instrument.** Reemplace su comando de uvicorn:
# Before
uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0
# After
aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
El prefijo aliyun-instrument gestiona la inicialización y la instrumentación no intrusiva del agente de Python de ARMS.
uWSGI
Si su aplicación se inicia con uWSGI, consulte Install the Python agent for a Django or Flask project that starts with uWSGI.
gevent
Si utiliza corrutinas de gevent, establezca la variable de entorno GEVENT_ENABLE en true.
Por ejemplo, si su código contiene:
from gevent import monkey
monkey.patch_all()
Establezca la siguiente variable de entorno en su despliegue:
GEVENT_ENABLE=true
Frameworks de bases de datos
Versiones de plugins compatibles
Aplicaciones de LLM (modelo grande de lenguaje)
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versión mínima |
Versiones posteriores |
|
AgentScope |
v1.0.0 |
v2.0.5 |
|
|
Anthropic SDK |
v0.16.0 |
v0.111.0 |
|
|
AutoGen |
v0.7.0 |
v0.8.0 |
|
|
Claude Agent SDK |
v0.1.0 |
Sin límite |
|
|
CrewAI |
v0.1.0 |
v1.7.2 |
|
|
Dashscope |
v1.0.0 |
v1.2.1 |
|
|
DeepAgents |
v0.6.0 |
v0.7.0 |
|
|
Dify |
v0.12.8 |
v1.11.2 |
|
|
Dify Plugin |
Sin límite |
Sin límite |
|
|
Dify React |
v0.1.0 |
v0.1.0 |
|
|
Google ADK |
v1.2.1 |
v1.21.0 |
|
|
Hermes Agent |
v0.12.0 |
v0.16.0 |
|
|
LangChain |
v0.1.0 |
v1.2.0 |
|
|
LangGraph |
Sin límite |
v1.0.5 |
|
|
LiteLLM |
v1.0.0 |
v1.79.0 |
|
|
Llama-index |
v0.10.5 |
v0.10.43 |
|
|
MCP |
v1.3.0 |
v1.25.0 |
|
|
Microsoft Agent Framework (MAF) |
v1.0.0 |
v1.13.0 |
|
|
OpenAI |
v1.0.0 |
v2.14.0 |
|
|
OpenAI Agent |
v0.3.3 |
v0.6.6 |
|
|
Qwen-Agent |
v0.0.20 |
v0.0.34 |
|
|
QwenPaw |
v1.1.0 |
v1.1.11 |
|
|
RagFlow |
v0.14.0 |
v0.21.1 |
Servicios de LLM (modelo grande de lenguaje)
Componente | Dirección del repositorio PyPI/GitHub | Versiones anteriores | Versiones posteriores |
SGLang | v0.4.6 | v0.4.9.post6 | |
vLLM V0 | v0.5.0 | v0.8.4 | |
vLLM V1 | V0.8.2 | V0.16.0 |
Frameworks HTTP/RPC
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versiones anteriores |
Versiones posteriores |
|
aiohttp |
v3.0 |
Sin límite |
|
|
asgiref |
v3.0 |
Sin límite |
|
|
BlackSheep |
v1.2.0 |
Sin límite |
|
|
Click |
v8.1.3 |
< 9.0.0 |
|
|
Django |
v1.10 |
Sin límite |
|
|
Falcon |
v1.4.1 |
< 5.0.0 |
|
|
FastAPI |
v0.92 |
Sin límite |
|
|
Flask |
v1.0 |
Sin límite |
|
|
gRPC |
v1.42.0 |
Sin límite |
|
|
HTTPX |
v0.18.0 |
Sin límite |
|
|
Jinja2 |
v2.7 |
< 4.0 |
|
|
Pyramid |
v1.7 |
Sin límite |
|
|
Requests |
v2.0 |
Sin límite |
|
|
Starlette |
v0.13 |
Sin límite |
|
|
Tornado |
v5.1.1 |
Sin límite |
|
|
urllib |
Sin dependencia específica |
Sin requisito de versión específico |
Sin límite |
|
urllib3 |
v1.0.0 |
< 3.0.0 |
|
|
WSGI |
Ninguna |
Sin límite |
Sin límite |
Bases de datos vectoriales
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versión mínima |
Versiones posteriores |
|
milvus |
v2.4.1 |
Sin límite |
Frameworks de memoria
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versión mínima |
Versiones posteriores |
|
mem0 |
v1.0.0 |
v1.0.2 |
Frameworks de bases de datos
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versión anterior |
Versiones posteriores |
|
aiopg |
v0.13.0 |
< 2.0.0 |
|
|
AsyncPG |
v0.12.0 |
Sin límite |
|
|
DBAPI |
Sin dependencia específica |
Sin requisito de versión específico |
Sin límite |
|
MySQL |
v8.0 |
< 10.0 |
|
|
MySQLClient |
Sin requisito de versión específico |
< 3 |
|
|
psycopg |
v3.1.0 |
Sin límite |
|
|
psycopg2 |
v2.7.3.1 |
Sin límite |
|
|
Pydantic |
v1.10.2 |
Sin límite |
|
|
PyMongo |
v3.1 |
< 5.0 |
|
|
PyMSSQL |
v2.1.5 |
< 3 |
|
|
PyMySQL |
Sin requisito de versión específico |
< 2 |
|
|
SQLAlchemy |
v1.0.0 |
< 2.1.0 |
|
|
SQLite3 |
Sin dependencia específica |
Sin requisito de versión específico |
Sin límite |
|
TortoiseORM |
v0.17.0 |
Sin límite |
Plugins de caché
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versión anterior |
Versiones posteriores |
|
Cassandra |
v3.25 |
Sin límite |
|
|
Elasticsearch |
v6.0 |
Sin límite |
|
|
PyMemcache |
v1.3.5 |
< 5 |
|
|
Redis |
v2.6 |
Sin límite |
|
|
Scylla |
v3.25 |
Sin límite |
Plugin de cola de mensajes
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versiones anteriores |
Versiones posteriores |
|
aio-pika |
Sin requisito de versión específico |
Sin límite |
|
|
aiokafka |
Sin requisito de versión específico |
Sin límite |
|
|
Celery |
v4.0 |
< 6.0 |
|
|
Confluent Kafka |
v1.8.2 |
v2.7.0 |
|
|
Kafka Python |
Sin requisito de versión específico |
Sin límite |
|
|
Pika |
Sin requisito de versión específico |
Sin límite |
|
|
Remoulade |
v0.50 |
Sin límite |
Otros plugins
|
Componente |
Dirección del repositorio PyPI/GitHub |
Versiones anteriores |
Versiones posteriores |
|
asyncio |
Sin dependencia específica |
Sin requisito de versión específico |
Sin límite |
|
Logging |
Sin dependencia específica |
Sin requisito de versión específico |
Sin límite |
|
Loguru |
v0.5.0 |
v1.0 |
|
|
Threading |
Sin dependencia específica |
Sin requisito de versión específico |
Sin límite |