Seite 1 von 1
import: not found
Verfasst: Freitag 4. Oktober 2013, 16:02
von Masuuk
Hi,
nach langem suchen habe ich mich hier angemeldet in der Hoffnung das mir jemand weiter helfen kann.
Ich habe einen Python-Skript geschrieben, der auf meinem Raspberry (wheezy) laufen soll.
Nur leider bekomme ich folgende Fehlermeldung
root@raspberrypi:/home/pi/Desktop/hoerkino# sh programm.sh
programm.sh: 2: programm.sh: import: not found
programm.sh: 3: programm.sh: import: not found
programm.sh: 4: programm.sh: import: not found
programm.sh: 5: programm.sh: import: not found
programm.sh: 8: programm.sh: Syntax error: "(" unexpected
Die ersten Zeilen des Skripts sehen wie folgt aus und funktioniert auch unter Windows.
Code: Alles auswählen
#!/usr/bin/python
import urllib.request
import time
import os
import sys
#url laden
with urllib.request.urlopen("http://www.antennethueringen.de/at_www/Unterhaltung/Hoerkino/Hoerkino.php") as url:
s = url.read().decode('utf-8')
#datum bestimmen
now = time.localtime()
Es ist ein Skript, das eine URL parst und mir daraus eine gewünschte Information liefert. Wie gesagt unter Windows läuft dieser Einwandfrei.
Also Python ist installiert und das Verzeichnis /usr/bin/python existiert. Sowohl meine Linux als auch meine Python-Kenntnisse bewegen sich auf dem selber Niveau. Irgendwo am Anfang des Weges, aber mit Kenntnisse über die korrekte Benutzung einer Karte, oder zumindest den Glauben daran. ^.^
Vielen Dank für die Mühe
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 16:15
von /me
Python Programme haben normalerweise die Endung .py (das sollte, muss aber nicht) und werden vor allen Dingen unter Python und nicht mit der Shell ausgeführt.
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 16:23
von Masuuk
/me hat geschrieben:Python Programme haben normalerweise die Endung .py (das sollte, muss aber nicht) und werden vor allen Dingen unter Python und nicht mit der Shell ausgeführt.
Sehr gut, Danke. Das hat die Situation schon mal geändert. Jetzt gibt die Shell einen Fehler zurück.
Code: Alles auswählen
Traceback (most recent call last):
File "programm.py", line 2, in <module>
import urllib.request
ImportError: No module named request
Wenn ich das richtig verstehe, findet er das modul urllib.request nicht.
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 16:25
von BlackJack
@Masuuk: Kann es sein dass Du versuchst ein Python 3.x Programm mit Python 2.x auszuführen? ``python`` ist bei den meisten Linux-Distributionen ein 2.x. Wenn Python 3.x installiert ist, dann heisst der Interpreter normalerweise ``python3``.
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 17:19
von Masuuk
BlackJack hat geschrieben:@Masuuk: Kann es sein dass Du versuchst ein Python 3.x Programm mit Python 2.x auszuführen? ``python`` ist bei den meisten Linux-Distributionen ein 2.x. Wenn Python 3.x installiert ist, dann heisst der Interpreter normalerweise ``python3``.
Hmm, leider kommt immer noch die Fehlermeldung,
ich hab folgende Zeilen versuch:
Code: Alles auswählen
#!/user/bin/python
#!/user/bin/python3
#!/user/bin/python3.2
hat aber leider alles nichts geholfen.

Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 18:18
von BlackJack
@Masuuk: 1. bringt es nichts die alle *drei* in die Datei zu schreiben und 2. ist diese Zeile nur relevant wenn die Datei ausführbar ist, also das entsprechende Bit in den Dateirechten gesetzt ist und die *Datei* ausgeführt wird.
Arbeite mal
The Command Line Crash Course durch und schau Dir dann in der Python-Dokumentation an wie man Python benutzt:
http://docs.python.org/2/using/
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 19:18
von Masuuk
BlackJack hat geschrieben:@Masuuk: 1. bringt es nichts die alle *drei* in die Datei zu schreiben und 2. ist diese Zeile nur relevant wenn die Datei ausführbar ist, also das entsprechende Bit in den Dateirechten gesetzt ist und die *Datei* ausgeführt wird.
Arbeite mal
The Command Line Crash Course durch und schau Dir dann in der Python-Dokumentation an wie man Python benutzt:
http://docs.python.org/2/using/
Danke für den Tipp. Werde ich mir mal durcharbeiten.
Natürlich habe ich diese nicht zusammen in der Datei gehabt, sondern nacheinander getestet. Der Skript soll Ausführbar sein und die Rechte sind gegeben.
Nachtrag:
laut
python -V
ist die Version 2.7.3 Aktiv
obwohl auch 3.2 installiert ist! oO
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 19:31
von BlackJack
@Masuuk: Ich sagte ja schon das Python 3.x normalerweise den Namen ``python3`` hat.
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 19:32
von diesch
Masuuk hat geschrieben:
ich hab folgende Zeilen versuch:
Code: Alles auswählen
#!/user/bin/python
#!/user/bin/python3
#!/user/bin/python3.2
hat aber leider alles nichts geholfen.

Es muss überall
/usr/bin/ (von "user system resources") statt
/user/bin/ heißen.
Die Zeile muss immer die erste Zeile in der Datei sein und du muss das Skript
direkt starten, also z.B. mit
oder
nicht mit sowas wie
Re: import: not found
Verfasst: Freitag 4. Oktober 2013, 19:41
von Masuuk
diesch hat geschrieben:Masuuk hat geschrieben:
ich hab folgende Zeilen versuch:
Code: Alles auswählen
#!/user/bin/python
#!/user/bin/python3
#!/user/bin/python3.2
hat aber leider alles nichts geholfen.

Es muss überall
/usr/bin/ (von "user system resources") statt
/user/bin/ heißen.
Die Zeile muss immer die erste Zeile in der Datei sein und du muss das Skript
direkt starten, also z.B. mit
oder
nicht mit sowas wie
Ahh Sry. war nur ein Schreibfehler!
es heißt natürlich usr nicht user!
Also daran liegt es nicht

Re: import: not found
Verfasst: Sonntag 6. Oktober 2013, 00:21
von Leonidas
Was wenn du mal ``python programm.sh`` ausprobierst? (also, angenommen die Datei heißt sinnloserweise ``programm.sh``).
Re: import: not found
Verfasst: Samstag 12. Oktober 2013, 11:26
von Masuuk
Das Problem war lediglich das fehlende Modul. Habe die ältere Version genommen und es funktionierte. Dankeschön