Hallo, ich hab vom dem Programmieren abgesehen von einem GW-Basic Kurs vor ca 40 Jahren keine Ahnung und hätte daher mal eine Bitte:
Könnte mir jemand eine Python-Quellcodedatei in eine ausführbare Datei umwandeln und diese an meine emaildresse (unkenweg8@gmail.com) schicken ?
Ist hatte mir von chatgtp ein kleines Börsenprogramm schreiben lassen, das es mir aber nur als Quellcode überlassen konnte/wollte, und den kriege ich nicht ausgeführt.
Nachfolgend der Code:
import yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tkinter as tk
from tkinter import ttk, messagebox
def get_stock_data(ticker, period="6mo", interval="1d"):
try:
stock = yf.Ticker(ticker)
df = stock.history(period=period, interval=interval)
if df is None or df.empty:
raise ValueError("Keine Daten gefunden. Überprüfe das Ticker-Symbol.")
return df["Close"]
except Exception as e:
messagebox.showerror("Fehler", f"Fehler beim Abrufen der Daten: {e}")
return None
def generate_pnf_chart(prices, box_size=1, reversal=3):
if prices is None or prices.empty:
return []
trend = []
current_column = []
last_value = None
direction = None
for price in prices:
if last_value is None:
last_value = price
current_column.append(price)
direction = "X"
continue
change = (price - last_value) / box_size
num_boxes = int(abs(change))
if num_boxes >= reversal:
direction = "X" if change > 0 else "O"
if current_column:
trend.append((direction, current_column))
current_column = [price]
elif num_boxes > 0:
current_column.append(price)
last_value = price
if current_column:
trend.append((direction, current_column))
return trend
def create_gui():
def fetch_data():
ticker = entry_ticker.get().strip().upper()
if not ticker:
messagebox.showerror("Fehler", "Bitte ein gültiges Ticker-Symbol eingeben.")
return
prices = get_stock_data(ticker)
if prices is not None and not prices.empty:
trend = generate_pnf_chart(prices)
if trend:
plot_pnf_chart(trend, ticker)
else:
messagebox.showinfo("Info", "Nicht genügend Daten für P&F-Analyse.")
def plot_pnf_chart(trend, ticker):
if not trend:
messagebox.showinfo("Info", "Kein gültiges Point & Figure Diagramm vorhanden.")
return
plt.figure(figsize=(8, 6))
x, y = [], []
col = 0
for direction, column in trend:
for price in column:
x.append(col)
y.append(price)
col += 1
plt.scatter(x, y, c=["red" if i % 2 == 0 else "green" for i in range(len(x))], label="P&F Chart")
plt.title(f"Point & Figure Chart für {ticker}")
plt.xlabel("Spalten")
plt.ylabel("Preis")
plt.legend()
plt.show()
root = tk.Tk()
root.title("Point & Figure Signal-Analyzer")
frame = ttk.Frame(root, padding=10)
frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
ttk.Label(frame, text="Ticker Symbol:").grid(row=0, column=0)
entry_ticker = ttk.Entry(frame, width=10)
entry_ticker.grid(row=0, column=1)
ttk.Button(frame, text="Daten abrufen", command=fetch_data).grid(row=1, column=0, columnspan=2)
root.mainloop()
if __name__ == "__main__":
create_gui()
Quellcode in exe-datei umwandeln
Hey,
ja, du kannst dein Python-Programm recht einfach in eine .exe-Datei umwandeln – das geht am besten mit PyInstaller. Damit kannst du dein Skript so verpacken, dass es auch auf Rechnern ohne Python-Installation läuft.
Kurzanleitung:
Abhängigkeiten installieren:
Dein Skript nutzt yfinance, pandas, numpy, matplotlib und tkinter. Installier am besten erstmal alles per pip:
tkinter ist bei den meisten Python-Installationen schon dabei.
PyInstaller installieren:
EXE erstellen: Navigier im Terminal zu dem Ordner, wo dein .py-Skript liegt, und führ aus:
Danach findest du die .exe-Datei im neu erstellten dist-Ordner.
Hinweise:
Falls dein Skript auf externe Dateien zugreift (Icons, Daten etc.), musst du evtl. zusätzliche Parameter angeben.
Wenn du eine GUI mit tkinter nutzt, kann es Sinn machen, --noconsole zu ergänzen:
pyinstaller --onefile --noconsole dein_scriptname.py
Das Ganze läuft unter Windows ziemlich stabil. Bei Problemen hilft oft ein Blick in die Logausgabe oder hier ins Forum.
Viele Grüße
ja, du kannst dein Python-Programm recht einfach in eine .exe-Datei umwandeln – das geht am besten mit PyInstaller. Damit kannst du dein Skript so verpacken, dass es auch auf Rechnern ohne Python-Installation läuft.
Kurzanleitung:
Abhängigkeiten installieren:
Dein Skript nutzt yfinance, pandas, numpy, matplotlib und tkinter. Installier am besten erstmal alles per pip:
Code: Alles auswählen
pip install yfinance pandas numpy matplotlib
PyInstaller installieren:
Code: Alles auswählen
pip install pyinstaller
Code: Alles auswählen
pyinstaller --onefile dein_scriptname.py
Hinweise:
Falls dein Skript auf externe Dateien zugreift (Icons, Daten etc.), musst du evtl. zusätzliche Parameter angeben.
Wenn du eine GUI mit tkinter nutzt, kann es Sinn machen, --noconsole zu ergänzen:
pyinstaller --onefile --noconsole dein_scriptname.py
Das Ganze läuft unter Windows ziemlich stabil. Bei Problemen hilft oft ein Blick in die Logausgabe oder hier ins Forum.
Viele Grüße
- __blackjack__
- User
- Beiträge: 13997
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Pandas und Numpy kann man sich sparen, die werden importiert aber nicht benutzt. Was Matplotlib indirekt benutzt ist da ja schon als Abhängigkeit beim Installieren dabei.
Das ist ziemlich schräg und undurchsichtig geschrieben mit den verschachtelten Funktionen. Es werden auch Informationen berechnet, die dann nirgends verwendet werden. ”KI” halt. Man muss da schon genug programmieren können um es selber zu schreiben, denn nur dann hat man die Fähigkeit zu beurteilen ob das überhaupt korrekt arbeitet.
Das ist ziemlich schräg und undurchsichtig geschrieben mit den verschachtelten Funktionen. Es werden auch Informationen berechnet, die dann nirgends verwendet werden. ”KI” halt. Man muss da schon genug programmieren können um es selber zu schreiben, denn nur dann hat man die Fähigkeit zu beurteilen ob das überhaupt korrekt arbeitet.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
- noisefloor
- User
- Beiträge: 4172
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Was heißt denn konkret " den kriege ich nicht ausgeführt"? Läuft der Code nicht bzw. mit Fehlern oder kannst du bei dir gar keine Python-Programme ausführen?
So oder so: wenn der Code nicht lauffähig ist, dann nützt dir auch eine exe-Datei nichts, weil der Code darin genau so wenig lauffähig ist. Wenn du keine Python-Programme ausführen kannst, kannst du auch keine exe-Datei bauen, weil das bereits genannte Tool ebenfalls eine lauffähig Python-Umgebung voraus setzt.
Gruß, noisefloor
Python Programme kommen grundsätzlich so. Ausgeführt werden die dann vom Python-Interpreter. Python ist keine kompilierende Sprache wie z.B. C, C++, Rust oder Go.das es mir aber nur als Quellcode überlassen konnte/wollte, und den kriege ich nicht ausgeführt.
Was heißt denn konkret " den kriege ich nicht ausgeführt"? Läuft der Code nicht bzw. mit Fehlern oder kannst du bei dir gar keine Python-Programme ausführen?
So oder so: wenn der Code nicht lauffähig ist, dann nützt dir auch eine exe-Datei nichts, weil der Code darin genau so wenig lauffähig ist. Wenn du keine Python-Programme ausführen kannst, kannst du auch keine exe-Datei bauen, weil das bereits genannte Tool ebenfalls eine lauffähig Python-Umgebung voraus setzt.
Gruß, noisefloor
@robotzz: Wenn du das Programm gar nicht ausführen kannst, woher weißt du dann, dass es überhaupt fehlerfrei ist und tut was du möchtest? Ich denke, hier wärst du richtig, wenn Python lernen möchtest. Die Intention lese ich jetzt nicht aus deinem Post heraus.