Disons qu'Ansible a été installé au moyen de "pip install ansible". Juste après l'installation, la déclaration d'importation suivante réussit :
from ansible.module_utils.basic import AnsibleModule
Un package local nommé "ansible.module_utils.custom" est maintenant créé. La structure du répertoire :
ansible/
__init__.py
module_utils/
__init__.py
custom/
__init__.py
utils.py
Dès qu'elle est mise en place, la déclaration d'importation susmentionnée échoue. L'affirmation "basic" n'est pas définie. Le paquetage local ne déclare en effet pas de sous-paquetage "basic". Seule la bibliothèque Ansible installée le fait. Il semble que Python ait limité sa recherche au seul paquetage local.
J'avais l'impression que Python prendrait en compte l'ensemble du système avant d'abandonner la recherche de code. Qu'il sortirait du paquetage local et atteindrait finalement la bibliothèque Ansible installée.
Cette hypothèse est-elle erronée ? Si oui, est-il possible de faire coexister le paquet local avec le paquet installé ?