Seite 1 von 1

Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Donnerstag 14. September 2023, 08:52
von Abi69
Hallo Leute,
ich habe einen Python Code mit einem selbst erstellten Chatbot geschrieben. Nun habe ich eine graphische Oberfläche dafür programmiert und möchte diese gern als .exe Datei abspeichern. Wenn ich die graphische Oberfläche, ohne das openai-Modul als .exe Datei umwandel, funktioniert alles einwandfrei. Jedoch ist der Chatbot auf das openai-Modul angewiesen. Deshalb wollte ich nachfragen, was ich machen kann um meinen Python Code als .exe Datei zu speichern?

Hier der Code:

https://ibb.co/TrJdqXW
https://ibb.co/HrhCSwX

Wenn ich die umgewandelte .exe Datei öffnen möchte, öffnet sich leider kein Fenster. Ich kann die Datei also nicht öffnen.
Ich würde mich freuen wenn mir jemand helfen kann :-)

Re: Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Donnerstag 14. September 2023, 09:13
von __deets__
Code als Bild ist nicht gut diskutiertbar, bitte direkt hier einkopieren. Dabei die wichtigen Code-Tags nicht vergessen.

Re: Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Donnerstag 14. September 2023, 12:16
von Abi69
Hier nochmal der Code:

from tkinter import *
import openai

#Chatbot
def askGPT(text):
openai.api_key = "XXX"
response = openai.Completion.create(
engine = "curie:ft-ruven-2023-03-30-09-22-21",
prompt = text,
temperature = 0.3,
max_tokens = 80,

)
antwort = response.choices[0].text
return antwort

BG_GRAY = "dimgray"
BG_COLOR = "paleturquoise"
BG_COLOR2 = 'teal'
TEXT_COLOR = "black"

Schriftart = "Helvetica 12"
Schriftart_fett = "Helvetica 11 bold"

class ChatApplication:
def __init__(self):
self.window = Tk()
self.setup_main_window()

def run(self):
self.window.mainloop()

def setup_main_window(self):
self.window.title("Chat")
self.window.resizable(width=False, height=False)
self.window.configure(width=400, height=500, bg=BG_COLOR)

#Kopfzeile
kopfzeile = Label(self.window, bg=BG_COLOR2, fg=TEXT_COLOR,
text="EAH-Jena Chatbot", font=Schriftart_fett, pady=10)
kopfzeile.place(relwidth=1, relheight=0.1)

#Teiler Kopfzeile
line = Label(self.window, width=400, bg=BG_GRAY)
line.place(relwidth=1, rely=0.09, relheight=0.0005)

#Textfeld
self.textfeld = Text(self.window, width=20, height=2, bg=BG_COLOR, fg=TEXT_COLOR,
font=Schriftart, padx=5, pady=5, wrap='word')
self.textfeld.place(relheight=0.75, relwidth=1, rely=0.09)
self.textfeld.config(width=self.textfeld.get('1.0', 'end-1c').count('\n')+2) #Textfeldüberlappung mit Scrollbar vermeiden
self.textfeld.configure(cursor="arrow", state=DISABLED)

#scroll bar
scrollbar = Scrollbar(self.textfeld)
scrollbar.place(relheight=1, relx=0.974)
scrollbar.configure(command=self.textfeld.yview)

#unteres label
unteres_label = Label(self.window, bg=BG_COLOR2, height=74)
unteres_label.place(relwidth=1, rely=0.825)

#Chatbox
self.chatbox = Entry(unteres_label, bg=BG_COLOR, fg=TEXT_COLOR, font=Schriftart)
self.chatbox.place(relwidth=0.75, relheight=0.06, rely=0.008, relx=0.011)
self.chatbox.focus()
self.chatbox.bind("<Return>", self._on_enter_pressed)

#Send-Button
send_button = Button(unteres_label, text="Senden", font=Schriftart_fett, width=20, bg=BG_COLOR,
command=lambda: self._on_enter_pressed(None))
send_button.place(relx=0.77, rely=0.008, relheight=0.06, relwidth=0.22)




def _on_enter_pressed(self, event):
msg = self.chatbox.get()
self._insert_message(msg, "Sie")

def _insert_message(self, msg, sender):
if not msg:
return

self.chatbox.delete(0, END) #Text wird aus Message-Box gelöscht
msg1 = f"{sender}: {msg}\n\n" #Message die angezeigt werden soll definieren
self.textfeld.configure(state=NORMAL)
self.textfeld.insert(END, msg1)
self.textfeld.configure(state=DISABLED)

antwort = askGPT(msg)


msg2 = f"{'Bot'}: {antwort}\n\n"

self.textfeld.configure(state=NORMAL)
self.textfeld.insert(END, msg2)
self.textfeld.configure(state=DISABLED)

self.textfeld.see(END)


if __name__=="__main__":
app = ChatApplication()
app.run()

Re: Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Donnerstag 14. September 2023, 12:30
von Abi69
Anbei noch ein Bild zu einem Fehlercode, wenn ich die .exe Datei ausführen möchte:
https://ibb.co/zHjCTtL

Re: Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Donnerstag 14. September 2023, 13:07
von __deets__
Auch sowas laesst sich ganz wunderbar als Text hier reinkopieren. Dann kann man zB auch mal kopieren und suchen. Denn die Muehe, das abzutippen, wird sich eher keiner machen.

Und weil es nicht geklappt hat: bitte auch da Code Tags benutzen. Das ist der </>-Knopf im vollstaendigen Editor. Man kann das sonst nicht vernuenftig lesen, vor allem Code, aber auch die Fehlermerdungen profitieren davon.

Re: Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Donnerstag 14. September 2023, 13:10
von Abi69
Hier nochmal der Fehlercode als Text:
Traceback (most recent call last):
File "app.py", line 9, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\__init__.py", line 28, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\api_resources\__init__.py", line 1, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\api_resources\completion.py", line 4, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\api_resources\abstract\__init__.py", line 3, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\api_resources\abstract\api_resource.py", line 3, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\api_requestor.py", line 13, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "openai\http_client.py", line 9, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "requests\__init__.py", line 43, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "urllib3\__init__.py", line 39, in <module>
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.1.0h 27 Mar 2018. See: https://github.com/urllib3/urllib3/issues/2168

Re: Python Code mit openai Modul in .exe Datei umwandeln

Verfasst: Freitag 15. September 2023, 08:28
von __deets__
Man kann dem Link folgen & etwas rum suchen. Und findet https://levelup.gitconnected.com/fixing ... bfe8576957 - lässt sich nicht ganz lesen, aber ich würde mal das Python upgraden. Welche Version benutzt du? Und ggf. mit verschiedenen urllib3-Versionen experimentieren.