Supposons que j'ai un paquet python appelé bestpackage
.
La convention stipule que bestpacakge
serait également un répertoire sur sys.path
qui contient un __init__.py
pour que l'interpréteur suppose qu'il peut être importé.
Existe-t-il un moyen de définir une variable pour le nom du paquet afin que le répertoire puisse être nommé différemment de la directive avec laquelle je l'importe ? Existe-t-il un moyen de faire en sorte que l'espacement des noms ne tienne pas compte du nom du répertoire et qu'il respecte une autre configuration à la place ?
Mes développeurs côté client super branchés sont tellement amoureux de ces sexy something.otherthing.js
des noms de projets pour l'un de nos petits projets secondaires !
EDIT :
Pour clarifier, le but principal de ma question était de permettre à mes clients de continuer à appeler les répertoires dans leur dossier "projects" (celui que nous avons tous ajouté à nos chemins) en utilisant leur convention existante (some.app.js), même si dans certains cas il s'agit en fait de paquets python qui seront sur le chemin et dont la source sera import
les déclarations en interne. Je me rends compte que c'est en pratique une chose assez horrible et je demande donc plus par curiosité. Donc, une partie du gros problème ici est de contourner le fait que la fonction .
dans le nom du répertoire (et donc le nom du paquet supposé) implique un accès par attribut. Je ne suis pas vraiment surpris que cela ne puisse pas être contourné, j'étais juste curieux de savoir si c'était possible plus profondément dans la "magie" derrière l'importation.
Il y a quelques bonnes réponses ici, mais toutes reposent sur une importation classique où l'accesseur d'attribut .
entreront en conflit avec les noms des répertoires.