Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » ошибка при работе с rtree , tkinter и spatialindex [RSS Feed]

#1 Авг. 5, 2020 14:46:41

Timych
Зарегистрирован: 2020-05-14
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

Я пытаюсь сгенерировать exe файл с помощью pyinstaller , но при запуске выходит ошибка :


  in exec_module
      exec(bytecode,module.__dict__)
File "rtree\core.py",line 126, in <module>
OSError: could not find or load spatialindex_c-64.dll
[16436] Failed to execute script main

Я находил много вопросов по этой теме, но ничего не помогло. Хотя я и пытался удалить rtree и установить .whl файл но после устновки была идентичная ошибка и просто spatialindex_c-64.dll менялся на spatialindex_c.dll

Прикрепляю вложение: Те строки кода,на которые ссылается exe при генерации ошибки

Спасибо за ответы!

Прикреплённый файлы:
attachment Безымянный1.png (41,4 KБ)

Офлайн

#2 Авг. 17, 2020 14:06:00

simonovaleksandr
Зарегистрирован: 2020-08-17
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

я пытаюсь написать графический калькулятор для решения квадратных уравнений,
распологаю кнопки ,текстовые метки,и поля ввода с помощью place(relx,rely)


   
from tkinter import *
from math import sqrt
def solver(a, b, c):
    D = b * b - 4 * a * c
    if D > 0:
        x1 = (-b + sqrt(D)) / (2 * a)
        x2 = (-b - sqrt(D)) / (2 * a)
        text = "Дескриминант: %s \n X1 равен: %s \n X2 равен: %s \n" % (D, x1, x2)
    elif D == 0:
        x1 = (-b) / (2 * a)
        text = "Дескриминант: %s \n X равен: %s \n" % (D, x1)
    else:
        text = "Дескриминант : %s \n Данное уравнение не имеет корней" % D
    return text
def inserter(value):
    output.delete("0.0", "end")
    output.insert("0.0", value)
def handler():
    try:
        # make sure that we entered correct values
        a_val = float(a.get())
        b_val = float(b.get())
        c_val = float(c.get())
        inserter(solver(a_val, b_val, c_val))
    except ValueError:
        inserter("Вы не ввели 3 переменных")
root = Tk()
root.title('Решение квадратных уравнений')
root.minsize(1000, 1000)
frame = Frame(root)
frame.place()
a = Entry(frame)
a.place(relx=0.005, rely=0.005,relwidth=0.50)
a_lab = Label(frame, text="a+").place(relx=0.055, rely=0.005)
b = Entry(frame)
b.place(relx=0.055, rely=0.005,relwidth=0.050)
b_lab = Label(frame, text="b+").place(relx=0.105, rely=0.005)
c = Entry(frame)
c.place(relx=0.105, rely=0.005,relwidth=0.100)
c_lab = Label(frame, text="c+").place(relx=0.155, rely=0.005)
but = Button(root, text="решить", command=handler,relx=0.900,rely=0.100)
output = Text(frame, bg="lightblue", font="Arial 12",height=900,width=900)
output.place(relx=0.005,rely=0.200)
root.mainloop()

при выполнении этого кода выходит ошибка:

C:\Users\user\AppData\Local\Programs\Python\Python38-32\python.exe “CUsers/user/PycharmProjects/untitled2/относительное расположение кнопок.py”
Traceback (most recent call last):
File “CUsers/user/PycharmProjects/untitled2/относительное расположение кнопок.py”, line 41, in <module>
but = Button(root, text=“решить”, command=handler,relx=0.900,rely=0.100)
File “C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py”, line 2645, in __init__
Widget.__init__(self, master, ‘button’, cnf, kw)
File “C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py”, line 2567, in __init__
self.tk.call(
_tkinter.TclError: unknown option “-relx”

Process finished with exit code 1
Скажите как исправить ошибку и как исправить ошибки чтобы программа работала ,и работала как надо

Отредактировано FishHook (Авг. 17, 2020 14:15:16)

Прикреплённый файлы:
attachment расположение кнопок.py (1,7 KБ)

Офлайн

#3 Авг. 17, 2020 14:19:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

but = Button(root, text="решить", command=handler,relx=0.900,rely=0.100)

А разве Button принимает relx? Вы наверное хотели сделать .place(relx=0.900,rely=0.100)



Офлайн

#4 Авг. 17, 2020 18:45:44

simonovaleksandr
Зарегистрирован: 2020-08-17
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

Я сделал поправку ,но когда я нажал выполнить на холсте только кнопка решить и ни текстовых меток ,ни ни рамок ввода нет .Почему так?Вот код программы:

   
from tkinter import *
from math import sqrt
def solver(a, b, c):
    D = b * b - 4 * a * c
    if D > 0:
        x1 = (-b + sqrt(D)) / (2 * a)
        x2 = (-b - sqrt(D)) / (2 * a)
        text = "Дескриминант: %s \n X1 равен: %s \n X2 равен: %s \n" % (D, x1, x2)
    elif D == 0:
        x1 = (-b) / (2 * a)
        text = "Дескриминант: %s \n X равен: %s \n" % (D, x1)
    else:
        text = "Дескриминант : %s \n Данное уравнение не имеет корней" % D
    return text
def inserter(value):
    output.delete("0.0", "end")
    output.insert("0.0", value)
def handler():
    try:
        # make sure that we entered correct values
        a_val = float(a.get())
        b_val = float(b.get())
        c_val = float(c.get())
        inserter(solver(a_val, b_val, c_val))
    except ValueError:
        inserter("Вы не ввели 3 переменных")
root = Tk()
root.title('Решение квадратных уравнений')
root.minsize(1000, 1000)
frame = Frame(root)
frame.place()
a = Entry(frame)
a.place(relx=0.005, rely=0.005,relwidth=0.50)
a_lab = Label(frame, text="a+").place(relx=0.055, rely=0.005)
b = Entry(frame)
b.place(relx=0.055, rely=0.005,relwidth=0.050)
b_lab = Label(frame, text="b+").place(relx=0.105, rely=0.005)
c = Entry(frame)
c.place(relx=0.105, rely=0.005,relwidth=0.100)
c_lab = Label(frame, text="c+").place(relx=0.155, rely=0.005)
but = Button(root, text="решить", command=handler).place(relx=0.900,rely=0.100)
output = Text(frame, bg="lightblue", font="Arial 12",height=900,width=900)
output.place(relx=0.005,rely=0.200)
root.mainloop()



Отредактировано FishHook (Авг. 18, 2020 17:05:09)

Прикреплённый файлы:
attachment расположение кнопок.py (1,7 KБ)

Офлайн

#5 Авг. 18, 2020 15:00:45

simonovaleksandr
Зарегистрирован: 2020-08-17
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

Помогите

Офлайн

#6 Авг. 18, 2020 17:21:01

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

simonovaleksandr
Помогите
Я не вижу в вашем коде ни одного вызова pack(), но что-то мне подсказывает, что так оно работать не будет. Покажите, каким мануалом вы пользовались для написания вашей программы



Офлайн

#7 Авг. 18, 2020 18:27:00

rami
Зарегистрирован: 2018-01-08
Сообщения: 280
Репутация: +  71  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

Будет нормально работать и с place(), но это примитивный и самый трудоёмкий упаковщик, он ждёт, что программист посчитает все размеры и положения виджетов, а ТС это не делает, все виджеты свалены в кучу. У кнопки родитель — главное окно, поэтому она видна, а у остальных виджетов родитель frame без размеров, поэтому они “сколапсировали в ноль”, чтобы они стали видны, фрейму надо задать размеры, например, так:

 frame = Frame(root)
frame.place(height=800,width=800)

Можно ещё заменить frame на root и правильно распределить виджеты по окну (лучше использовать pack() или grid().

Офлайн

#8 Авг. 19, 2020 09:15:46

simonovaleksandr
Зарегистрирован: 2020-08-17
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

Я пользовался place () относительным расположением рамок меток и программ

Офлайн

#9 Авг. 19, 2020 09:17:30

simonovaleksandr
Зарегистрирован: 2020-08-17
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

Спасибо rami

Офлайн

#10 Авг. 19, 2020 09:21:15

simonovaleksandr
Зарегистрирован: 2020-08-17
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка при работе с rtree , tkinter и spatialindex

frame = Frame(root)
frame.place(relheight=0.800,relwidth=0.800)
А вот так задавать размеры можно?

Офлайн

  • Начало
  • » GUI
  • » ошибка при работе с rtree , tkinter и spatialindex[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version