2016-05-12 14 views
1

Ich habe ein Projekt mit Buildout gebaut, wo ich einige Entwicklung Eier im src-Ordner mit benutzerdefinierten Namespace und Namen (zB. Namespace.app1, namespace.app2 etc ...).Import Modul global in Projekt

Der Code einer dieser Anwendungen wird von einem vorhandenen Projekt übernommen und alle Importe innerhalb dieses Moduls sind relativ (z. B. import appmodule). Diese Importe sind nicht mehr funktioniert in meinem Projekt, weil ich etwas verwenden müssen, wie

import namespace.appname.appmodule 

Wie kann ich namespace.appname global in meinem Projekt importieren zu vermeiden jeden Import zu ändern, die bereits im Code vorhanden ist?

+1

Tun Sie es nicht, es macht es schwierig für jemand anderen zu verstehen, was Sie in Ihrem Code tun, wenn Sie ein Modul ohne offensichtlichen Import verwenden. Wenn Sie es wirklich noch tun wollen: Ich weiß, dass es möglich ist, aber nicht wie. Es gibt ein Modul, das den einzelnen Unterstrich global als Übersetzungsfunktion registriert. –

+0

Leider ist das Modul wirklich riesig, es würde zu lange dauern, es zu analysieren, um jeden Import zu modifizieren. Inzwischen scheint es die beste Wahl zu sein. –

Antwort

0

die Sie interessieren, fügen Sie das Verzeichnis von appmodule zu Ihrem PYTHONPATH in ~/.profile,

export PYTHONPATH=$PYTHONPATH:the_directory_of_appmodule 

und es dann durch source ~/.profile effektiver machen.