Cette rubrique répertorie les versions de Python, les composants tiers et les frameworks pris en charge par l'agent Python.
Versions de Python prises en charge
Versions de Protobuf prises en charge
L'agent Python utilise Protobuf pour l'encodage et la transmission des données. Cela peut entrer en conflit avec la version de Protobuf utilisée par votre application. L'agent Python est compatible avec les versions suivantes de Protobuf :
"protobuf>=3.20.0, < 7.0"
L'intégration de l'agent peut modifier les versions de certaines de vos dépendances, telles que Protobuf. Pour éviter les erreurs inattendues liées aux changements de version des dépendances, utilisez l'une des méthodes suivantes :
Si vous avez déjà installé une dépendance, telle que Protobuf, exécutez la commande suivante pour augmenter sa priorité :
# 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 la méthode 1 ne résout pas le problème, installez manuellement l'agent Python. Après avoir intégré l'agent, exécutez la commande suivante pour forcer une version spécifique de la dépendance :
pip3 install xx==${your_original_dependency_version} --force-reinstall
Versions d'API OpenTelemetry prises en charge
L'agent Python est implémenté sur la base de la spécification d'API OpenTelemetry. Étant donné que différentes versions de l'API OpenTelemetry peuvent présenter de légères différences, l'agent Python prend en charge la plage de versions d'API OpenTelemetry suivante :
"opentelemetry-api <= 1.40.0"
Compatibilité des frameworks Python
Vérifiez les exigences spécifiques à chaque framework avant de poursuivre.
uvicorn
Si votre application démarre avec uvicorn, choisissez l'une des approches suivantes :
Approche A : Importez l'agent dans le code. Ajoutez cette instruction d'importation à la première ligne de votre fichier d'entrée uvicorn :
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
**Approche B : Basculez vers gunicorn avec le préfixe aliyun-instrument.** Remplacez votre commande 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
Le préfixe aliyun-instrument gère l'initialisation et l'instrumentation non intrusive de l'agent Python ARMS.
uWSGI
Si votre application démarre avec uWSGI, consultez Installer l'agent Python pour un projet Django ou Flask qui démarre avec uWSGI.
gevent
Si vous utilisez des coroutines gevent, définissez la variable d'environnement GEVENT_ENABLE sur true.
Par exemple, si votre code contient :
from gevent import monkey
monkey.patch_all()
Définissez la variable d'environnement suivante dans votre déploiement :
GEVENT_ENABLE=true
Frameworks de base de données
Versions de plug-ins prises en charge
Applications LLM (modèle de langage large)
|
Composant |
Adresse du référentiel PyPI/GitHub |
Version minimale |
Versions ultérieures |
|
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 |
Aucune limite |
|
|
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 |
Aucune limite |
Aucune limite |
|
|
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 |
Aucune limite |
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 |
Services LLM (modèle de langage large)
Composant | Adresse du référentiel PyPI/GitHub | Versions précédentes | Versions ultérieures |
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
|
Composant |
Adresse du référentiel PyPI/GitHub |
Versions antérieures |
Versions ultérieures |
|
aiohttp |
v3.0 |
Aucune limite |
|
|
asgiref |
v3.0 |
Aucune limite |
|
|
BlackSheep |
v1.2.0 |
Aucune limite |
|
|
Click |
v8.1.3 |
< 9.0.0 |
|
|
Django |
v1.10 |
Aucune limite |
|
|
Falcon |
v1.4.1 |
< 5.0.0 |
|
|
FastAPI |
v0.92 |
Aucune limite |
|
|
Flask |
v1.0 |
Aucune limite |
|
|
gRPC |
v1.42.0 |
Aucune limite |
|
|
HTTPX |
v0.18.0 |
Aucune limite |
|
|
Jinja2 |
v2.7 |
< 4.0 |
|
|
Pyramid |
v1.7 |
Aucune limite |
|
|
Requests |
v2.0 |
Aucune limite |
|
|
Starlette |
v0.13 |
Aucune limite |
|
|
Tornado |
v5.1.1 |
Aucune limite |
|
|
urllib |
Aucune dépendance spécifique |
Aucune exigence de version spécifique |
Aucune limite |
|
urllib3 |
v1.0.0 |
< 3.0.0 |
|
|
WSGI |
Aucun |
Aucune limite |
Aucune limite |
Bases de données vectorielles
|
Composant |
Adresse du référentiel PyPI/GitHub |
Version minimale |
Versions ultérieures |
|
milvus |
v2.4.1 |
Aucune limite |
Frameworks de mémoire
|
Composant |
Adresse du référentiel PyPI/GitHub |
Version minimale |
Versions ultérieures |
|
mem0 |
v1.0.0 |
v1.0.2 |
Frameworks de base de données
|
Composant |
Adresse du référentiel PyPI/GitHub |
Version précédente |
Versions ultérieures |
|
aiopg |
v0.13.0 |
< 2.0.0 |
|
|
AsyncPG |
v0.12.0 |
Aucune limite |
|
|
DBAPI |
Aucune dépendance spécifique |
Aucune exigence de version spécifique |
Aucune limite |
|
MySQL |
v8.0 |
< 10.0 |
|
|
MySQLClient |
Aucune exigence de version spécifique |
< 3 |
|
|
psycopg |
v3.1.0 |
Aucune limite |
|
|
psycopg2 |
v2.7.3.1 |
Aucune limite |
|
|
Pydantic |
v1.10.2 |
Aucune limite |
|
|
PyMongo |
v3.1 |
< 5.0 |
|
|
PyMSSQL |
v2.1.5 |
< 3 |
|
|
PyMySQL |
Aucune exigence de version spécifique |
< 2 |
|
|
SQLAlchemy |
v1.0.0 |
< 2.1.0 |
|
|
SQLite3 |
Aucune dépendance spécifique |
Aucune exigence de version spécifique |
Aucune limite |
|
TortoiseORM |
v0.17.0 |
Aucune limite |
Plug-ins de cache
|
Composant |
Adresse du référentiel PyPI/GitHub |
Version plus ancienne |
Versions ultérieures |
|
Cassandra |
v3.25 |
Aucune limite |
|
|
Elasticsearch |
v6.0 |
Aucune limite |
|
|
PyMemcache |
v1.3.5 |
< 5 |
|
|
Redis |
v2.6 |
Aucune limite |
|
|
Scylla |
v3.25 |
Aucune limite |
Plug-in de file d'attente de messages
|
Composant |
Adresse du référentiel PyPI/GitHub |
Versions plus anciennes |
Versions ultérieures |
|
aio-pika |
Aucune exigence de version spécifique |
Aucune limite |
|
|
aiokafka |
Aucune exigence de version spécifique |
Aucune limite |
|
|
Celery |
v4.0 |
< 6.0 |
|
|
Confluent Kafka |
v1.8.2 |
v2.7.0 |
|
|
Kafka Python |
Aucune exigence de version spécifique |
Aucune limite |
|
|
Pika |
Aucune exigence de version spécifique |
Aucune limite |
|
|
Remoulade |
v0.50 |
Aucune limite |
Autres plug-ins
|
Composant |
Adresse du référentiel PyPI/GitHub |
Versions antérieures |
Versions ultérieures |
|
asyncio |
Aucune dépendance spécifique |
Aucune exigence de version spécifique |
Aucune limite |
|
Logging |
Aucune dépendance spécifique |
Aucune exigence de version spécifique |
Aucune limite |
|
Loguru |
v0.5.0 |
v1.0 |
|
|
Threading |
Aucune dépendance spécifique |
Aucune exigence de version spécifique |
Aucune limite |