Import schlägt fehl

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Siassei
User
Beiträge: 3
Registriert: Sonntag 8. November 2009, 17:49

Hallo,

ich würde scons gerne aus Build-System für C++ benutzen. Leider schlägt das Importieren einer eigenen Module fehl.

Die Python-Skripte liegen vom bash-Verzeichnis, wo SConstruct liegt und scons aus der Konsole gestartet wird, aus in build/tools/Shell.py

Code: Alles auswählen

#
# Imports
#

import glob
import os
import os.path
import platform
import re
import shutil
import string
import sys
import time
from tempfile import mkdtemp

import build.tools.Shell # Zeile 42
import build.tools.OpenCAx
import build.tools.OpenCAxTools

# ...
Die Fehlermeldung lautet

Code: Alles auswählen

$ scons
scons: Reading SConscript files ...
ImportError: No module named build.tools.Shell:
  File "/home/siassei/Projects/opencax/SConstruct", line 42:
    import build.tools.Shell
Woran liegt das? Der Code in der Shell.py lautet

Code: Alles auswählen

class Shell:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'

    def disableColor(self):
        self.HEADER = ''
        self.OKBLUE = ''
        self.OKGREEN = ''
        self.WARNING = ''
        self.FAIL = ''
        self.ENDC = ''

    def printLine(s):
	print s

    def printFatal(before = '', s = '', after = ''):
	print before + FAIL + 'Fatal Error: '+ s + ENDC + after

    def printError(before = '', s = '', after = ''):
	print before + FAIL + 'Error: '+ s + ENDC + after

    def printWarning(before = '', s = '', after = ''):
	print before + WARNING + 'Warning: '+ s + ENDC + after

    def printHinweis(before = '', s = '', after = ''):
	print before + OKBLUE + 'Hinweis: '+ s + ENDC + after

    def printNotice(before = '', s = '', after = ''):
	print before + OKGREEN + s + ENDC + after

derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Die Verzeichnisstruktur wird interessanter sein als der Code von Shell.py. Übrigens:

Code: Alles auswählen

>>> def foo():
... pass
  File "<input>", line 3
    pass
       ^
IndentationError: expected an indented block
Siassei
User
Beiträge: 3
Registriert: Sonntag 8. November 2009, 17:49

Hallo,

die Verzeichinsstruktur ist: (linux, copy&paste aus der Url)
/home/ ... / Verzeichnes des scons Befehl /build/tools

Was möchtest du mir mit deine Code-Snippest sagen?
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

zum Beispiel wäre es interessant, zu wissen, ob in allen Verzeichnissen jeweils eine Datei namens '__init__.py' liegt.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Dass du Einrückungsfehler in deinem Code hast ;)
the more they change the more they stay the same
Siassei
User
Beiträge: 3
Registriert: Sonntag 8. November 2009, 17:49

Pekh hat geschrieben:zum Beispiel wäre es interessant, zu wissen, ob in allen Verzeichnissen jeweils eine Datei namens '__init__.py' liegt.
Ah ja :oops: Das dürfte es gewessen sein. Kanns zur Zeit nicht testen, aber schon mal vielen dank.
Antworten