2016-05-12 5 views
1

J'ai un projet construit avec buildout où j'ai quelques oeufs de développement dans le dossier src avec un espace de noms et des noms personnalisés (par exemple namespace.app1, namespace.app2 etc ...).Importer le module globalement dans le projet

Le code de l'une de ces applications provient d'un projet existant et toutes les importations à l'intérieur de ce module sont relatives (par exemple, import appmodule). Ces importations ne fonctionnent plus dans mon projet parce que je dois utiliser quelque chose comme

import namespace.appname.appmodule 

Comment puis-je importer namespace.appname globalement dans mon projet pour éviter de modifier chaque importation qui existe déjà dans le code?

+1

Ne le faites pas, il est difficile pour quelqu'un d'autre de comprendre ce que vous faites dans votre code si vous utilisez un module sans importation évidente. Si vous voulez vraiment le faire encore: je sais que c'est possible, mais pas comment. Il y a un module qui enregistre globalement le trait de soulignement simple comme fonction de traduction. –

+0

Malheureusement, le module est vraiment énorme, l'analyser pour modifier chaque importation prendrait trop de temps. À l'heure actuelle, il semble être le meilleur choix. –

Répondre

0

Essayez, ajoutez le répertoire de appmodule à votre PYTHONPATH dans ~/.profile,

export PYTHONPATH=$PYTHONPATH:the_directory_of_appmodule 

puis le rendre efficace source ~/.profile.