DOCKER Fehlermeldung: TypeError: function() argument 'code' must be code, not str, was tun?

Hallo, ich mit einem YouTube video eine kleine FastApi App geschrieben. Dann habe ich sie als ein Docker gebaut. Wenn ich diesen nun starte bekomme ich die im Titel stehende Fehlermeldung. `Ich habe schon ganz Google nach einer Möglichkeit durchgesucht aber leider keine Lösung gefunden. Vll. hat ja einer von euch 'ne Idee.

DER CODE:

from fastapi import FastAPI
from app.model.test import Upscale

app = FastAPI()

class TextIn(Upscale):
    org_url: str


class TextOut(Upscale):
    url: str



@app.get("/")
def home():
    return {"health_check": "OK"}

@app.post("/post", response_model=TextOut)
def UpSc(payload: TextIn):
    textwrap = Upscale(payload.org_url)
    return {"url": "url"}

`

KOMPLETTER TRACEBACK: `

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.9/site-packages/uvicorn/workers.py", line 66, in init_process
    super(UvicornWorker, self).init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/app/app/main.py", line 6, in <module>
    class TextIn(Upscale):
TypeError: function() argument 'code' must be code, not str

in meinen requirements.txt steht:

fastapi
boto3
opencv-contrib-python-headless
opencv-python-headless
numpy

ich nutzte Python 3.9 habe es aber auch ohne Erfolg mit anderen Version probiert.

Python, Python 3, Docker
Python: Wieso kann ich nur eine Nachricht über die Socketverbindung senden?

Moin alle zusammen,

ich habe folgende Frage:

Ich habe zwei Python-Dateien geschrieben:

Client.py:

import socket

W = '\033[0m' # white
R = '\033[31m' # red
G = '\033[32m' # green
O = '\033[33m' # orange
B = '\033[34m' # blue
P = '\033[35m' # purple

def excp():
  print(R+"Es ist ein Fehler aufgetreten!"+W)
   
client = socket.socket()
client.connect((ip, port))
used = []

while True:
  command = str(input("Nachricht: "))
  used.append(command)
  command = command.encode()
  client.send(command)
  msg = client.recv(1024).decode()
  print(msg)
  print(used)

Port und IP sind natürlich definiert.

Server.py:

import socket

W = '\033[0m' # white
R = '\033[31m' # red
G = '\033[32m' # green
O = '\033[33m' # orange
B = '\033[34m' # blue
P = '\033[35m' # purple

def excp():
  print(R+"Es ist ein Fehler aufgetreten!"+W)
  
def sendOutput(msg):
  client.sendto(str(msg).encode(), (ip, port))
 
server = socket.socket()
server.bind((ip, port))
server.listen(1)

while True:
  client, client_addr = server.accept()
  print(f" {client_addr} Client wurde mit dem Server verbunden") 
  msg = client.recv(1024).decode()
  print(msg)

sendOutput(msg)

Das funktioniert auch alles. Nur kann ich vom Client aus nur eine Nachricht schicken, bei der Zweiten kommt nichts mehr beim Server an und auch nicht wieder zurück. Was ist denn falsch?

Vielen Dank im Voraus. :)

Python, Python 3, Socket
Warum Funktioniert mein Python Programm nicht, obwohl es fehlerfrei ist?

Hallo,

ich möchte so ein Wahl spiel in Python machen, wo das Programm dir Antworten vorschlägt und du sie dann eingeben musst usw. ...

Das Problem aber ist das das Programm nicht ausgeführt wird, obwohl es Fehlerfrei ist. Es kommt übrigens auch keine Fehlermeldung.

das Programm wird einfach gekillt, nachdem ich bei Laserschneider die 1 eingebe.(Die 1 steht ja auch für den Laserschneider)

Übrigens: was ep1wam1 und so weiter bedeutet, steht ganz am Anfang des Codex.

Vielen Dank im voraus!

FormulaSun12

Der Codex:

# ep = Episode
# wam = wahlmöglichkeiten
# wa = Wahl
# er = erneut
# sf = sicherheitsnachfrage


from time import sleep


episode1 = True
episode2 = False


def ep1wam1():
        ep1wam1 = int(input ("Laserschneider; Jet Pack; Untererde-Loch-graber-Maschiene; Einfach an der Tür Klopfen (1=Laserschneider)"))


# Begrüßung


name = input ("Name?") # Frägt nach Namen
print ("Wilkommen", name, ",")
print ("Beantworte die Fragen mit den angegebenen Antworten. Die angegebenen Antworten sind in Klammern")
sleep (1.0)
input ("Drücken sie eine Taste um fortzufahren!")
print ("Spiel Ladet, bitte warten...")
sleep (3.0)


# Episodenauswahl


episode = int(input ("Episodenauswahl, bitte wählen sie einen Episod! (1);(2)"))


# Wenn Episode 1 wurde ausgewählt und episode1 ist True dann:


if episode1 == True and episode == 1:
    print ("EPISODE 1")
    sleep (1.5)
    print ("20. JUNI 2022")
    sleep (1.5)
    print ("DU STEHST VOR EINEM RIESEGNEN, GUT BEWACHTEN GELDSPEICHER WO DU EINBRECHEN WILLST!")
    sleep (1.5)
    print()
    print ("WÄHLE EINEN DIESER SACHEN UND PROBIERE REINZUKOMMEN! ABER PASS AUF! DAS GEBÄUDE WIR SEHR STRENG ÜBERWACHT! VIEL GLÜCK!")
    print ()
    sleep (1.5)
    ep1wam1()



    # Wenn der Laserschneider ausgewählt wurde:
    if ep1wam1 == 1:
        print ("Die Maschine schneidet einen großen Loch in die Wand.")
        sleep(1.5)
        print ("Das hätte prima funktioniert wenn das ausgeschneidete Teil nicht auf dich draufgefallen wäre :/")
        sleep(1.5)
        print ("FAIL!")
        ep1wam1wa1er = int(input ("Erneut versuchen? (1 für ja);(2 für nein)"))


        if ep1wam1wa1er == 1:
            ep1wam1()
            
        elif ep1wam1wa1er == 2:
            ep1wam1wa1sf = int (input ("Das Spiel hört hier auf. Bist du sicher das du verlassen möchtest? Das Spiel Speichert NICHT! (1=ja);(2=nein)"))


            if ep1wam1wa1sf == 1:
                ep1wam1()
                
            elif ep1wam1wa1sf == 2:
                quit()




# Wenn Episode 2 noch nicht freigeschalten ist dann:


elif episode2 == False and episode == 2:
    print ("Diese Episode ist noch gesperrt! Schliese erst die Anderen ab!")

programmieren, Python, Python 3

Meistgelesene Fragen zum Thema Python 3