Seite 1 von 1

import probleme

Verfasst: Donnerstag 23. Juli 2020, 15:37
von melmager
ich habe mir ein neuse verzeichnis (Opensuse /Python3) erstellt in dem ich meine lustigen ersten Gehversuche in Python starte

wenn im meinem file sowas steht:

import socket

und ich das nutze

python3 datei.py
bin im verzeichnis der datei..

dann kommt erstmal mecker:
client_socket = socket(socket.AF_INET, socket.SOCK_STREAM)

TypeError module objekt is not callable

- natürlich googel bemüht - da ging es zwar immer in den Antworten um eigene module aber egal

nächste versuch

from socket import socket

dann der:
"AttributeError: type objekt 'socket' has no attribute 'AF_INET'

ich habe mal beschlossen das die installation von Python nicht passt wenn der schon mal so grundlegene sachen wie socket nicht kann

woran kann es liegen das import nicht geht wie in den vielen internet beispielen ??

Re: import probleme

Verfasst: Donnerstag 23. Juli 2020, 17:59
von __deets__
Lass mich raten: du hast dein erstes skript passend zum Thema “socket.py” genannt?

Damit überschattet das das echte socket Modul. Benenn die Datei um, entferne eine ggf rumliegende .pyc Datei & erlebe eine wunderheilung deiner Installation.

Re: import probleme

Verfasst: Donnerstag 23. Juli 2020, 18:30
von Sirius3
Bei socket ist das Problem, dass das Modul socket heißt, und die Klasse auch socket. Die Konstanten sind aber auf dem Modul definiert, wenn Du also die Klasse socket nennst, sind die Konstanten natürlich nicht verfügbar.

Code: Alles auswählen

import socket

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Und falls Du ein Beispiel aus dem Internet hast, das ist garantiert kompletter Schrott. Was möchtest Du denn mit dem Socket machen?

Re: import probleme

Verfasst: Freitag 24. Juli 2020, 22:30
von melmager
fehler gefunden - alte python version und IPv6 war on und das mochte Python nicht

Re: import probleme

Verfasst: Freitag 24. Juli 2020, 23:22
von melmager
Sirius3 hat geschrieben: Donnerstag 23. Juli 2020, 18:30
Und falls Du ein Beispiel aus dem Internet hast, das ist garantiert kompletter Schrott. Was möchtest Du denn mit dem Socket machen?
nur aus Neugier: wie soll man sonst lernen wenn nicht aus Code von anderen ?

Socket = Datentransport von A nach B über Netzwerk in meinem fall json daten , später aufgemotzt zu einer Verbindung zu
Vert.x (ich weiss auch das es schon Software dazu gibt - nur wollte ich das selbst angehen - auch um die Sprache zu lernen )

Re: import probleme

Verfasst: Samstag 25. Juli 2020, 09:05
von __blackjack__
@melmager: Das Problem bei Socket-Code ist genau das was Sirius3 schrieb: Der den man da draussen in Beispielen findet, ist zu 99,9% Schrott, weil falsch. Wobei man das insbesondere als Anfänger nicht merkt, weil der Code scheinbar funktioniert. Also man kann da natürlich schon von Code von anderen lernen, aber man muss wirklich sicherstellen das derjenige *Ahnung* von dem hat, was er da macht.