Seite 1 von 2

Verfasst: Samstag 5. Mai 2007, 20:23
von Blauer Fasan
Also in der Python IDLE kommt dieses heraus:

Code: Alles auswählen

>>> from configobj import ConfigObj
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named configobj
>>> import configobj
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named configobj
Und kann man den Code nicht einfach hier rein posten? Oder gibt es da Probleme? Wenn ich auf den Link klicke, dann komme ich nicht auf die Seite... -.-

Verfasst: Samstag 5. Mai 2007, 20:29
von Leonidas
Blauer Fasan hat geschrieben:Also in der Python IDLE kommt dieses heraus:

Code: Alles auswählen

>>> from configobj import ConfigObj
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named configobj
>>> import configobj
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: No module named configobj
Und das obwohl in der selben Python-Sitzung configobj.py im ``sys.path`` gefunden wurde?
Blauer Fasan hat geschrieben:Und kann man den Code nicht einfach hier rein posten? Oder gibt es da Probleme? Wenn ich auf den Link klicke, dann komme ich nicht auf die Seite... -.-
Nein, weil der Code warscheinlich zu lang sein wird. Lodgeit müsste schon kommen, dauert nur etwas [1]. Alternativ nimmst du das Pastebin von dpaste.com.

[1] Meine Güte, das nervt wirklich. blackbird, mach bitte endlich was dagegen (das Beta-Lodgeit einsetzen?). Sonst werden wir uns ein anderes Pastebin suchen müssen. Das würde ich aber vermeiden wollen, denn LodgeIt ist cool, wenn es doch nur richtig gehen würde. ich würde nur ungerne die dort gespeicherten Pastes verlieren.

Verfasst: Samstag 5. Mai 2007, 20:35
von Blauer Fasan
Nein, ich habe eine Konsole aufgerufen und dort einfach python eingegeben und dort die Tests durchgeführt.

Das Programm beträgt 230 Zeilen.

Verfasst: Samstag 5. Mai 2007, 20:38
von Leonidas
Blauer Fasan hat geschrieben:Das Programm beträgt 230 Zeilen.
Ja und warum pastest du es nun nicht auf dpaste?

Verfasst: Samstag 5. Mai 2007, 21:11
von Blauer Fasan
Ich habe es dort jetzt hochgestellt. Braucht ihr jetzt den Link dazu, oder nochwas?

http://dpaste.com/hold/9695/

Bitte nicht auf Kommentare achten, stammen teilweise noch von anderem Programm, aus dem ich das jetztige editiert habe...

Verfasst: Samstag 5. Mai 2007, 21:18
von Leonidas
Schreib das mal in Zeile 22 (die Frage warum jede zweite Zeile leer ist verkneif ich mir):

Code: Alles auswählen

import sys
found = []
for directory in sys.path:
    full_path = os.path.join(directory, 'configobj.py')
    if os.path.exists(full_path):
        found.append(full_path)
print found
print sys.version_info
print sys.version
Poste dann bitte die Ausgaben.

Ist ``configobj.py`` wirklich eine Python-Datei? Wo du grad dabei bist, paste doch auch gleich den Inhalt von ``configobj.py``.

Verfasst: Sonntag 6. Mai 2007, 11:15
von Blauer Fasan
Es sind Leerzeilen mit dabei, um die Übersicht zu behalten.

Ich frage mich warum ich deinen Code genau in Zeile 22 schreiben soll, bei mir im Programm ist das nach der eigentlichen Fehlerquelle und kommt so nicht zur Ausgabe, deswegen habe ich es nach

Code: Alles auswählen

import os
eingefügt.

Dann ist das hier bei rausgekommen:

Code: Alles auswählen

['/usr/local/lib/python2.4/site-packages/configobj.py', '/usr/lib/python2.4/site-packages/configobj.py']
(2, 4, 3, 'final', 0)
2.4.3 (#2, Oct  6 2006, 07:52:30) 
[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)]
Traceback (most recent call last):
  File "SnakeLog_GUI.py", line 23, in ?
    from configobj import ConfigObj
ImportError: No module named configobj
>Exit code: 0

EDIT: Das, was ich gepasted habe, stimmt von den Zeilen her nicht mit dem Programm überein, welches ich habe, dort müssen irgendwie Whitespaces dazwischen gekommen zu sein. Muss beim Kopieren passiert sein... Das Programm selbst hat nämlich bei mir im Editor nur 230 Zeilen und nicht 400 und ein paar zerdrückte.

Verfasst: Sonntag 6. Mai 2007, 11:49
von Leonidas
Blauer Fasan hat geschrieben:Es sind Leerzeilen mit dabei, um die Übersicht zu behalten.
Das was du gepastet hast ist voller Leerzeichen. Von Übersicht kann man da nicht sprechen.
Blauer Fasan hat geschrieben:Ich frage mich warum ich deinen Code genau in Zeile 22 schreiben soll, bei mir im Programm ist das nach der eigentlichen Fehlerquelle und kommt so nicht zur Ausgabe
Ich habe Zeile 22 angegeben, weil es die Richtige Position ist in dem ist was zu gepastet hast. Wenn du das richtige gepastet hättest, dann würde die Zeilennummer stimmen.
Blauer Fasan hat geschrieben:Dann ist das hier bei rausgekommen:
Sieht ok aus. Poste die Ausgabe von ``file configobj.py`` und paste (wie ich dich schon gebeten habe) ``configobj.py`` nach dpaste. Diesmal aber ohne die überflüssigen Leerzeilen, ok?

Verfasst: Sonntag 6. Mai 2007, 12:12
von Blauer Fasan
configobj.py: http://dpaste.com/hold/9720/

Ich habe alles aus der
Datei SnakeLog_GUI.py markiert und bei dpaste eingefügt, also das richtige gepasted. Ich weiß nicth wie die Leerzeichen da reinkommen.

Was meinst du genau mit der Ausgabe von file configobj.py ? Entschuldige, dass ich so ne dumme Frage stelle...

Einfach dort eingeben, wo die Ausgabe vom Editor steht?

Verfasst: Sonntag 6. Mai 2007, 12:32
von Leonidas
Blauer Fasan hat geschrieben:configobj.py: http://dpaste.com/hold/9720/
Hmm, das sieht eigentlich ok aus.
Blauer Fasan hat geschrieben:Was meinst du genau mit der Ausgabe von file configobj.py ? Entschuldige, dass ich so ne dumme Frage stelle...

Einfach dort eingeben, wo die Ausgabe vom Editor steht?
Nein, das musst du in die Shell eingeben. Analog zu dem:

Code: Alles auswählen

leonidas@metodij:~$ file BeautifulSoup.py
BeautifulSoup.py: a python script text executable

Verfasst: Sonntag 6. Mai 2007, 12:41
von Blauer Fasan
mjunge@mjunge-work:~/Desktop$ file configobj.py
configobj.py: ASCII English text

Verfasst: Sonntag 6. Mai 2007, 12:45
von Leonidas
Blauer Fasan hat geschrieben:mjunge@mjunge-work:~/Desktop$ file configobj.py
configobj.py: ASCII English text
Nein, ich meine schon die Kopie die in ``site-packages`` liegt.

Verfasst: Sonntag 6. Mai 2007, 13:14
von Blauer Fasan

Code: Alles auswählen

root@mjunge-work:/usr/lib/python2.4/site-packages# file configobj.py
configobj.py: ASCII English text
das war als root und jetzt nochmal als normaler Benutzer, mit dem ich normalerweise angemeldet bin:

Code: Alles auswählen

mjunge@mjunge-work:/usr/lib/python2.4/site-packages$ file configobj.py
configobj.py: writable, regular file, no read permission

Verfasst: Sonntag 6. Mai 2007, 13:24
von lunar
Blauer Fasan hat geschrieben:

Code: Alles auswählen

root@mjunge-work:/usr/lib/python2.4/site-packages# file configobj.py
configobj.py: ASCII English text
das war als root und jetzt nochmal als normaler Benutzer, mit dem ich normalerweise angemeldet bin:

Code: Alles auswählen

mjunge@mjunge-work:/usr/lib/python2.4/site-packages$ file configobj.py
configobj.py: writable, regular file, no read permission
Tja, da liegt der Hacken: Die Datei ist für normale Nutzer nicht lesbar, kann deswegen natürlich auch nicht importiert werden, wenn Python mit Nutzerrechten läuft. Korrigiere die Rechte der Datei, indem du die Schreibberechtigung entfernst und stattdessen Leserechte setzt. Genaueres verrät dir "man chmod".