Hallo Forum,
ich beginne neu mit python und habe eine (wahrscheinlich) peinliche Frage
In welchem Paket für den Raspberry Pi liegt denn dieser Server?
Ich möchte eine TCP Verbindung mit json realisieren.
Welches json Modul könnt Ihr empfehlen.
Danke im voraus
Tatjana
import ServerSocket
@zakspeed: Das Modul heisst `SocketServer` und ist in der Python-Standardbibliothek. Dort gibt es ausserdem ein Modul für JSON mit dem Namen `json`.
Edit: Bevor Du das Rad neu erfindest: Für JSON-RPC gibt es schon etwas fertiges: https://pypi.python.org/pypi/jsonrpc/1.2
Edit: Bevor Du das Rad neu erfindest: Für JSON-RPC gibt es schon etwas fertiges: https://pypi.python.org/pypi/jsonrpc/1.2
Danke für die schnelle Antwort.
Dann dürfte doch bei der Eingabe von
$ python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import SocketServer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/SocketServer.py", line 132, in <module>
import socket
File "socket.py", line 3, in <module>
class MyTCPHandler(SocketServer.BaseRequestHandler):
AttributeError: 'module' object has no attribute 'BaseRequestHandler'
eigentlich kein Fehler kommen.
Es sieht doch so aus, dass das Modul nicht in der Standard Bibliothek vorhanden ist.
Irgendwie fehlt mir der Durchblick.
Danke für den Tip mit json-rpc
Gruss Tatjana
Dann dürfte doch bei der Eingabe von
$ python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import SocketServer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/SocketServer.py", line 132, in <module>
import socket
File "socket.py", line 3, in <module>
class MyTCPHandler(SocketServer.BaseRequestHandler):
AttributeError: 'module' object has no attribute 'BaseRequestHandler'
eigentlich kein Fehler kommen.
Es sieht doch so aus, dass das Modul nicht in der Standard Bibliothek vorhanden ist.
Irgendwie fehlt mir der Durchblick.
Danke für den Tip mit json-rpc
Gruss Tatjana
@zakspeed: Du darfst *Dein* Modul nicht `socket` nennen, denn dann wird das vor dem `socket`-Modul in der Standardbibliothek gefunden und Deins enthält natürlich nicht die Objekte die man aus dem `socket`-Modul in der Standardbibliothek erwartet.
Leider stehe ich auf dem Schlauch
Mit der Eingabe
$ python
antwortet der Interpreter mit
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Meine Eingabe (so steht es auch in der Source)
>>> import SocketServer
hier kommt die Fehlermeldung
bei der Eingabe von
>>>import time
kommt
>>>
da ist doch alles OK, oder
Gruss Tatjana
Mit der Eingabe
$ python
antwortet der Interpreter mit
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Meine Eingabe (so steht es auch in der Source)
>>> import SocketServer
hier kommt die Fehlermeldung
bei der Eingabe von
>>>import time
kommt
>>>
da ist doch alles OK, oder
Gruss Tatjana
SocketServer verwendet offensichtlich das Modul socket aus der Standardbibliothek. Jetzt hast du aber ein eigenes Modul namens socket erstellt, das im Suchpfad vorher gefunden und daher statt des gleichnamigen Moduls in der Standardbibliothek verwendet wird. Nenne dein Modul anders.
BTW, gerade hab' ich noch in Wikipedia nach Zakspeed geschaut und jetzt taucht es hier noch mal auf.
BTW, gerade hab' ich noch in Wikipedia nach Zakspeed geschaut und jetzt taucht es hier noch mal auf.
@ /me
Meinen Nickname habe ich von meinem Opa übernommen, der in den 70er Jahren als Unix Programmierer gearbeitet hat.
Er ist entfernt Verwandt mit dem Rennstall, der damals in der Formel 1 fuhr, deshalb der Nickname.
Zurück zum Thema:
Wie werde ich denn meine "eigene Socket" wieder los?
Die muss ich doch irgendwie erstellt haben.
Gruss
Tatjana
Sorry, ich habe den Text geändert, weil ich etwas falsch verstanden habe.
Meinen Nickname habe ich von meinem Opa übernommen, der in den 70er Jahren als Unix Programmierer gearbeitet hat.
Er ist entfernt Verwandt mit dem Rennstall, der damals in der Formel 1 fuhr, deshalb der Nickname.
Zurück zum Thema:
Wie werde ich denn meine "eigene Socket" wieder los?
Die muss ich doch irgendwie erstellt haben.
Gruss
Tatjana
Sorry, ich habe den Text geändert, weil ich etwas falsch verstanden habe.
Zuletzt geändert von zakspeed am Donnerstag 3. April 2014, 15:21, insgesamt 1-mal geändert.
@zakspeed: Die Dateien `socket.py` und falls vorhanden `socket.pyc` löschen (oder umbenennen).
... geht nicht;-(((
Ich setzte den Raspi noch einmal in der Grundkonfi auf.
Geht wahrscheinlich schneller.
Habe ich jetzt gelernt, dass eigene Dateinamen keinen Modulnamen tragen sollten?
Bis später, und Danke für die schnelle Hilfe
Tatjana
Ich setzte den Raspi noch einmal in der Grundkonfi auf.
Geht wahrscheinlich schneller.
Habe ich jetzt gelernt, dass eigene Dateinamen keinen Modulnamen tragen sollten?
Bis später, und Danke für die schnelle Hilfe
Tatjana
Das muss eigentlich gehen.zakspeed hat geschrieben:... geht nicht;-(((
Dein eigener Programmpfad kommt in der Suchreihenfolge vor dem Suchpfad der Standardbibliothek. Wenn du also dort eine Datei liegen hast, deren Name identisch zu einem Modul der Standardbibliothek ist, dann wird diese auch als erstes herangezogen.zakspeed hat geschrieben:Habe ich jetzt gelernt, dass eigene Dateinamen keinen Modulnamen tragen sollten?