import probleme

Probleme bei der Installation?
Antworten
melmager
User
Beiträge: 8
Registriert: Donnerstag 23. Juli 2020, 14:50

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 ??
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

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?
melmager
User
Beiträge: 8
Registriert: Donnerstag 23. Juli 2020, 14:50

fehler gefunden - alte python version und IPv6 war on und das mochte Python nicht
melmager
User
Beiträge: 8
Registriert: Donnerstag 23. Juli 2020, 14:50

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 )
Benutzeravatar
__blackjack__
User
Beiträge: 12984
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten