Python Modul installieren unter Linux

Probleme bei der Installation?
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Hallo!

Ich wollte kurz fragen, wie ich zum Beispiel das Modul "configobj.py" unter Linux! "installieren" kann (also in welchen Ordner ich des verschieben muss).

Ich habe die Datei bis jetzt in /usr/lib/python2.4/sit-packages/
getan, meine Programme, bei denen ich aber das import-Statement:

Code: Alles auswählen

from configobj import ConfigObj
benutze, laufen nicht, weil diese Fehlermeldung kommt:

ImportError: "No module named configobj"

Ich hoffe ihr könnt mir weiterhelfen... schon mal danke im voraus :)
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ist in dem Entpackten keine Dateinamens: install oder install.txt?
Du musst meistens noch ein configure.py oder ähnliches aufrufen.

***EDIT***
Ich habe es mir gerade einmal heruntergeladen

1. Du musst im richtigen Verzeichnis zu deiner Version sein.
2. nutz die setup.py im Verzeichnis
3. einfach kopiernen geht (meines Wissens nach) nicht weil keine __init__.py im Ordner liegt.
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Darf ich fragen wo du das runtergeladen hast? (Link)

Ich habe das hier runtergeladen: http://www.voidspace.org.uk/python/conf ... ownloading

Und was meinst du mit dem richtigen Verzeichnis miener Version? Es ist 2.4 und 2.3 installiert, ist automatisch drauf gewesen, benutze Kubuntu...

Danke im voraus... ;)
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich würde einfach ``configobj.py`` und ``validate.py`` in ``site-packages`` kopieren, damit ist die Sache erledigt. Aber es muss das "richtige" site-packages sein, also das passende zu der Python-Version die du nutzt.

Was Sr4l schreibt ist irgendwie weder zielführend noch verständlich... :roll:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Naja ich habe es von sourceforge.net in Version 0.4.4.

Ich meinte nur das es keine __init__.py im Ordner gibt und somit kann man nicht dein Ordner einfach in site-packages kopieren.
Gut die Idee mit einfach in den site-pakages ordner kopieren ist mir auch gekommen, war mir abe rnicht sicher ob man das so macht ( also strukturlos sachen in site-packages ablegen).

Und die setup.py zu nutzen die im entpackten Ordner landet kann auch nicht schaden.

Ich hätte es schon etwas konkreter schreiben können stimmt schon.
Ich denke mir meist mehr, als ich dann in Schrift umsetze ^^.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sr4l hat geschrieben:Ich meinte nur das es keine __init__.py im Ordner gibt und somit kann man nicht dein Ordner einfach in site-packages kopieren.
Nein, es ist ja auch kein Package.
Sr4l hat geschrieben:Gut die Idee mit einfach in den site-pakages ordner kopieren ist mir auch gekommen, war mir abe rnicht sicher ob man das so macht ( also strukturlos sachen in site-packages ablegen).
``python setup.py install`` macht auch nichts großartig anderes. Das ist praktisch, wenn man auf einem System kein python-dev (aus welchen Gründen auch immer) installiert hat, so kann man die "per Hand" das machen was die distutils normalerweise machen. Oder VCS-Checkouts in site-packages ablegen, auch eine sehr praktische Sache.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Ich würde einfach ``configobj.py`` und ``validate.py`` in ``site-packages`` kopieren, damit ist die Sache erledigt. Aber es muss das "richtige" site-packages sein, also das passende zu der Python-Version die du nutzt.
Was ist denn das richtige? Es scheint bei mir 2.3 und 2.4 installiert zu sein, ich habe die beiden Dateien einfach in alle site-packages ordner getan, die es bei mir gibt (drei an der Zahl 2.3, 2.4 und /usr/local/lib/python2.4/site-packages/). Aber die import-Anweisung ergibt immer noch einen Fehler. Woran könnte das liegen? Ich brauch dieses Modul unbedingt für die Schule...

Vielen Dank... ;)
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wie sieht bei dir ``sys.path`` aus?

Du kannst auch schauen of es gefunden wird:

Code: Alles auswählen

In [34]: import os, sys
In [36]: for directory in sys.path:
   ....:     full_path = os.path.join(directory, 'configobj.py')
   ....:     print full_path, os.path.exists(full_path)
   ....:
configobj.py False
/usr/local/bin/configobj.py False
/usr/lib/python25.zip/configobj.py False
/usr/lib/python2.5/configobj.py False
/usr/lib/python2.5/plat-linux2/configobj.py False
/usr/lib/python2.5/lib-dynload/configobj.py False
/usr/local/lib/python2.5/site-packages/configobj.py False
/usr/lib/python2.5/site-packages/configobj.py False
/usr/local/lib/python2.5/site-packages/IPython/Extensions/configobj.py False
Bei dir müsste dann irgendwo bei den Pfaden ein True stehen, ansonsten ist die Datei an die falsche Stelle kopiert. Aber du kannst auch configobj.py im aktuellen Verzeichnis haben - du brauchst es nicht zu installieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Also bei dem Testlauf kommt bei mir folgendes heraus:

/usr/lib/python24.zip/configobj.py False
/usr/lib/python2.4/configobj.py False
/usr/lib/python2.4/plat-linux2/configobj.py False
/usr/lib/python2.4/lib-tk/configobj.py False
/usr/lib/python2.4/lib-dynload/configobj.py False
/usr/local/lib/python2.4/site-packages/configobj.py True
/usr/lib/python2.4/site-packages/configobj.py True
/usr/lib/python2.4/site-packages/HTMLgen/configobj.py False
/usr/lib/python2.4/site-packages/Numeric/configobj.py False
/usr/lib/python2.4/site-packages/PIL/configobj.py False
/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/configobj.py False

Das bedeuted ja anscheinend, dass die Datei richtig dort gelandet ist, aber nun verstehe ich nicht, warum ich immer noch die Fehlermeldung bekomme...
:?:
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Naja, wenn das kommt sollte ``import configobj`` im Interpreter-Prompt doch wohl funktionieren, oder? Kannst du das normal nachprüfen und gegebenfalls die gesammte Exception posten?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Also hier die gesamte Fehlermeldung, die erscheint:

Code: Alles auswählen

>python -u SnakeLog_GUI.py
Traceback (most recent call last):
  File "SnakeLog_GUI.py", line 12, in ?
    from configobj import ConfigObj
ImportError: No module named configobj
>Exit code: 0
So, nun habe ich getestet, ob es funktioniert, wenn ich die Dateien im gleichen Ordner einfüge, in dem auch das Programm liegt. Dann geht es, aber ich möchte es doch lieber so machen, dass ich solche Dateien nicht immer im gleichen Ordner haben muss wie das Programm...
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Blauer Fasan hat geschrieben:Also hier die gesamte Fehlermeldung, die erscheint:

Code: Alles auswählen

>python -u SnakeLog_GUI.py
Traceback (most recent call last):
  File "SnakeLog_GUI.py", line 12, in ?
    from configobj import ConfigObj
ImportError: No module named configobj
>Exit code: 0
Siehst du, ich habe dich gebeten, ``import configobj`` im Interaktiven Interpreter einzutippen. Dort hätte es wohl funktioniert...
Ich tippe drauf, dass SnakeLog_GUI irgendetwas an ``sys.path`` kaputt macht. Kannst du das Script irgendwo posten, wo man es begutachten kann?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Wo soll ich es denn reinstellen?

Und inwiefern, kann man mit einem Programm in sys.path etwas "kaputtmachen"?

Ich benutze im Script zum Beispiel os.environ["HOMEDRIVE"] etc.
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Blauer Fasan hat geschrieben:Wo soll ich es denn reinstellen?
Ins LodgeIt zum Beispiel.
Blauer Fasan hat geschrieben:Und inwiefern, kann man mit einem Programm in sys.path etwas "kaputtmachen"?
Zum Beispiel so:

Code: Alles auswählen

sys.path = []
und schon ist der ``sys.path`` interpreterweit unbrauchbar und Module können nicht mehr importiert werden (bis auf einige Ausnahmen).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Leonidas meint du sollst mal einfach die Python IDLE starten und nur den import Befehl eingeben und dann schauen ob ein Fehler kommt. also nicht:
python -u SnakeLog_GUI.py

sondern:
python<ENTER>
>>> from configobj import ConfigObj
>>>

Code posten kannst du hier: http://paste.pocoo.org/

EDIT verdammt bist du schnell Leonidas. ;-)
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

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... -.-
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Nein, ich habe eine Konsole aufgerufen und dort einfach python eingegeben und dort die Tests durchgeführt.

Das Programm beträgt 230 Zeilen.
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Blauer Fasan hat geschrieben:Das Programm beträgt 230 Zeilen.
Ja und warum pastest du es nun nicht auf dpaste?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

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...
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Antworten