Installation von Fremdmodulen global in nem Netzwerk

Probleme bei der Installation?
Antworten
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Montag 26. Mai 2008, 12:21

Hi!

Ich versuche mich gerade daran, 'pylint' zu installieren. Fuer ein Einzelplatzsystem ist das ja noch recht einfach, indem man einfach wie im jeweiligen Readme angegeben 'python setup.py install' ausfuehrt.

Nun will ich das aber nicht fuer jeden Rechner im Haus hier machen, das ist bei Updates usw. ja ein Graus. Ausserdem sind es gemischte Netzwerke, das meiste Macs.

Deshalb hab ich fuer globale Module ein Verzeichnis auf einem Server angelegt und das mit der Umgebungsvariable PYTHONPATH auf allen Maschinen eingebunden. Mit anderen und eigenen Modulen von mir klappt das auch wunderbar. Per 'env | grep PYTHON'-Aufruf im Terminal bekomme ich folgende Rueckmeldung:
PYTHONPATH=/mnt/libs/pythonlib/modules
Das Modul hab ich mit 'python setup.py build' erzeugen lassen und dann von Hand in diesen Module-Ordner kopiert.

Wenn ich jetzt aber pylint im Terminal starte bekomme ich folgende Fehlermeldung:
Traceback (most recent call last):
File "/mnt/libs/bin/pylint", line 3, in <module>
from pylint import lint
File "/mnt/libs/pythonlib/modules/pylint/lint.py", line 31, in <module>
from pylint.checkers import utils
File "/mnt/libs/pythonlib/modules/pylint/checkers/__init__.py", line 40, in <module>
from logilab.astng.utils import ASTWalker
ImportError: No module named logilab.astng.utils
obwohl ich, wenn ich nachschaue, folgende Datei finde:

/mnt/libs/pythonlib/modules/logilab/astng/utils.py

kann mir jemand erklaeren warum das aber anscheinend, zumindest versteh ich die Fehlermeldung so, nicht gefunden wird? Muessen importierbare Module Ausfuehrungsrechte haben? Eigentlich nicht, oder?

Bin dankbar fuer jeglichen Hinweis, da ich grad nicht ganz verstehe wo das Problem wirklich liegt.

Gruss, Shakebox
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Montag 26. Mai 2008, 13:28

nochmal zur Eingrenzung:

folgendes Verzeichnis ist per Umgebungsvariable PYTHONPATH eingebunden:
Bild

Warum klappt in Python jetzt wunderbar:

Code: Alles auswählen

import arri
import appscript
import elementtree
aber es klappt nicht:

Code: Alles auswählen

import logilab.astng.util
Warum??
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Montag 26. Mai 2008, 13:39

ok, danke fuers Zuhoeren, Problem geloest :)

In dem Ordner 'logilab' lag kein __init__.py. Hab da jetzt einfach ein leeres File erzeugt, jetzt geht alles. Komischerweise hat aber der 'python setup.py build'-Aufruf dieses File nicht erzeugt. Wundert mich, denn ich kann mir nicht vorstellen dass das dann direkt funktioniert haette auf nem Rechner wo man das direkt installiert.

Ganz verstehen tu ich es also nicht, aber Hauptsache es funktioniert ;-)
Antworten