Merhaba,
pyinstaller ile paketlediğim programım çalıştırırken bu hatayı veriyor >> failed to execute script
Kodlarım;
from tkinter import *
from PIL import ImageTk, Image
from os import system
import sqlite3
from datetime import datetime
import matplotlib.pyplot as plt
from selenium import webdriver
from time import sleep
system("color a")
an = datetime.now()
gun = str(an.day)
if len(gun) == 1:
gun = "0" + str(an.day)
ay = str(an.month)
if len(ay) == 1:
ay = "0" + str(an.month)
yil = str(an.year)
tarih = "{}{}{}.db".format(gun, ay, yil)
con = sqlite3.connect("database/{}".format(tarih))
cursor = con.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS DATAS (X_EKSENI INT, Y_EKSENI INT)")
con.commit()
con.close()
conx = sqlite3.connect("database/all_data/tum_veriler.db")
cursorx = conx.cursor()
cursorx.execute("CREATE TABLE IF NOT EXISTS DATA (X_EKSENI INT, Y_EKSENI INT)")
conx.commit()
conx.close()
def report_one_day():
an = datetime.now()
gun = str(an.day)
if len(gun) == 1:
gun = "0" + str(an.day)
ay = str(an.month)
if len(ay) == 1:
ay = "0" + str(an.month)
yil = str(an.year)
tarih = "{}{}{}.db".format(gun, ay, yil)
con = sqlite3.connect("database/{}".format(tarih))
cursor = con.cursor()
cursor.execute("SELECT * FROM DATAS")
con.commit()
data = cursor.fetchall()
con.close()
if len(data) == 0:
pass
else:
count = 0
x_ekseni = list()
y_ekseni = list()
for i in data:
x_ekseni.append(i[0])
y_ekseni.append(i[1])
plt.plot(x_ekseni, y_ekseni, color="red", lw=3, marker="o", markersize=10, markerfacecolor="black", markeredgecolor="yellow", markeredgewidth=1)
count += 1
if count > len(data):
break
plt.show()
def report_tum_veriler():
con = sqlite3.connect("database/all_data/tum_veriler.db")
cursor = con.cursor()
cursor.execute("SELECT * FROM DATA")
con.commit()
data = cursor.fetchall()
con.close()
if len(data) == 0:
pass
else:
count = 0
x_ekseni = list()
y_ekseni = list()
for i in data:
x_ekseni.append(i[0])
y_ekseni.append(i[1])
plt.plot(x_ekseni, y_ekseni, color="red", lw=3, marker="o", markersize=10, markerfacecolor="black",
markeredgecolor="yellow", markeredgewidth=1)
count += 1
if count > len(data):
break
plt.show()
def verileri_al():
count = 0
website = "https://borsa.doviz.com/hisseler/SASA"
xxx = 'C:/Users/USER/Desktop/chromedriver'
driver = webdriver.Chrome(executable_path=xxx)
driver.get(website)
sleep(3)
script = "return window.Highcharts.charts[0].series[0].options.data"
data = driver.execute_script(script)
an = datetime.now()
gun = str(an.day)
if len(gun) == 1:
gun = "0"+str(an.day)
ay = str(an.month)
if len(ay) == 1:
ay = "0"+str(an.month)
yil = str(an.year)
tarih = "{}{}{}.db".format(gun, ay, yil)
con = sqlite3.connect("database/{}".format(tarih))
cursor = con.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS DATAS (X_EKSENI INT, Y_EKSENI INT)")
con.commit()
conx = sqlite3.connect("database/all_data/tum_veriler.db")
cursorx = conx.cursor()
cursorx.execute("CREATE TABLE IF NOT EXISTS DATA (X_EKSENI INT, Y_EKSENI INT)")
con.commit()
the_end = len(data) - 1
for i in data:
aaa = data[count]["x"] * 0.0010
xxx = datetime.fromtimestamp(aaa).strftime("%Y.%m.%d %X")
cursor.execute("INSERT INTO DATAS VALUES (?,?)", (xxx, data[count]["y"]))
con.commit()
cursorx.execute("INSERT INTO DATA VALUES (?,?)", (xxx, data[count]["y"]))
conx.commit()
print("VERİLER KAYIT EDİLİYOR. TARİH >> {} | TUTAR >> {}".format(xxx, data[count]["y"]))
count += 1
if count > the_end:
break
sleep(0.3)
sleep(0.3)
con.close()
conx.close()
sleep(0.3)
driver.close()
class Application(object):
def __init__(self):
self.main()
def main(self):
self.pencere1 = Tk()
self.pencere1.geometry("960x540+510+210")
self.pencere1.resizable(FALSE, FALSE)
self.pencere1.title("TVHD SOFT | BORSA TAKİP | ANA EKRANI | https://tvhdsoft.com")
self.canvas = Canvas(self.pencere1, width=960, height=540)
self.image =ImageTk.PhotoImage(Image.open("img/bg_2.png"))
self.canvas.create_image(0, 0, anchor=NW, image=self.image)
self.canvas.pack()
self.menu = Menu(self.pencere1)
self.pencere1.config(menu=self.menu)
self.program = Menu(self.menu, tearoff=0)
self.menu.add_cascade(label="Program", menu=self.program)
self.program.add_command(label="Versiyon", command=self.version)
self.program.add_command(label="Çıkış Yap", command=self.cikis_yap)
self.veri_cek = Menu(self.menu, tearoff=0)
self.menu.add_cascade(label="Veri Çek", menu=self.veri_cek)
self.veri_cek.add_command(label="Veri Çek > SASA", command=verileri_al)
self.rapor = Menu(self.menu, tearoff=0)
self.menu.add_cascade(label="Rapor", menu=self.rapor)
self.rapor.add_command(label="Rapor >> 1 Günlük", command=report_one_day)
self.rapor.add_command(label="Rapor >> Tüm Veriler", command=report_tum_veriler)
self.yardim = Menu(self.menu, tearoff=0)
self.menu.add_cascade(label="Yardım", menu=self.yardim)
self.yardim.add_command(label="İletişim", command=self.yardimx)
def cikis_yap(self):
self.pencere1.quit()
def version(self):
self.pencere = Tk()
self.pencere.title("TVHD SOFT | BORSA TAKİP | VERSİYON EKRANI | https://tvhdsoft.com")
self.pencere.geometry("+750+300")
self.pencere.resizable(FALSE, FALSE)
self.etiket = Label(self.pencere, text="Aşağıdaki versiyon numarası programa aittir.",
font="Helvatica 18 bold")
self.etiket.pack()
self.etiket = Label(self.pencere, text="----------------------------------------------------------------------")
self.etiket.pack()
self.etiket = Label(self.pencere, text=">>>> Version 1.0.0 <<<<", font="Helvatica 14 bold", fg="dark blue")
self.etiket.pack()
def yardimx(self):
self.pencere = Tk()
self.pencere.title("TVHD SOFT | BORSA TAKİP | YARDIM EKRANI | https://tvhdsoft.com")
self.pencere.geometry("+750+300")
self.pencere.resizable(FALSE, FALSE)
self.etiket = Label(self.pencere, text="Aşağıdaki iletişim adreslerini kullanabilirsiniz.",
font="Helvatica 18 bold")
self.etiket.pack()
self.etiket = Label(self.pencere, text="----------------------------------------------------------------------")
self.etiket.pack()
self.etiket = Label(self.pencere, text="safatevhid@gmail.com", font="Helvatica 14 bold", fg="dark blue")
self.etiket.pack()
app = Application()
mainloop()
not > selenium modülünü chrome tarayıcısıyla kullanıyorum. driver_path
değişkeni bilgisayardaki chrome dosyasının konumunu alıyor.
img klasöründe bulunması gereken dosya >>
lütfen resmi tam ekran açarak indiriniz.
aynı dizinde bulunması gereken klasör > database
database klasörünün altında olması gereken klasör > all_data
internette ve forumda bulduğum çözümleri denedim fakat olmadı uygulamalı çözebilecek biri var mı?
Yardımcı olabilirseniz severim.