Nous sommes en train de développer un AWS Lambda pour la compétence Alexa en Python et en utilisant la fonction pip
pour installer le ask-sdk
à notre dist/
répertoire :
pip install -t dist/ ask-sdk
Le problème est avec le -t dist/
parce que pip
veut que toutes les dépendances soient présentes, même si elles sont installées sur l'ensemble du système.
Maintenant, ask-sdk
a une dépendance à l'égard de boto3
qui attire un tas d'autres paquets. Cependant, le AWS Lambda L'environnement d'exécution fournit boto3
et il n'est pas nécessaire d'empaqueter ce paquetage et ses dépendances avec notre code. J'ai boto3
installé dans le système et import boto3
fonctionne, alors j'ai pensé pip
devrait être heureux, mais à cause de -t dist/
il l'installe toujours.
Est-ce que je peux installer seulement ask-sdk
et ses dépendances qui n'existent pas dans le système, par ex. ask-sdk-core
mais pas ceux qui sont déjà installés ?
Une façon de procéder est de lister tous les modules et d'utiliser pip --no-deps
mais cela signifie qu'il faut constamment garder la trace des dépendances manuellement, ce que nous aimerions éviter.
D'une certaine manière, je voudrais dire pip
: si le paquet est déjà installé, même si ce n'est pas dans -t dist/
ne pas mettre une copie dans dist/
.
Est-ce possible ?
Merci !