Я создаю одно приложение, которое сортирует файлы и объединяет их по имени файла.Мне нужны были пути к файлам, когда я перетаскивал файлы из файлового браузера в список моего виджета.Для Tkinter я установил TkDnd.Я следовал инструкциям Как установить и использовать TkDnD с Python 2.7 Tkinter на OSX? , и это сработало для меня.Я использую Anaconda, и я ходил по папкам в C: \ Users \ Anaconda3 \ tcl и C: \ Users \ Anaconda3 \ Lib \ site-packages.Я использую Spyder и Python 3.7.Я выполнил команду ниже:
pyinstaller --onefile -w PDF_Merger.py
После открытия файла выдает ошибку:
Неустранимая ошибка ".py не удалось выполнить"
Я знаю, что эта проблемаЧто касается связи TkDnd.
Я попытался сделать исполняемый файл с --onedir, и он все еще дает мне ошибку.Но после копирования tkdnd2.8 в dist он работает.
Вот мой код, использующий TkDnd:
from TkinterDnD2 import *
widget = TkinterDnD.Tk()
filesinfileslist = Variable(widget)
FilesShow = ReorderableListbox(widget, font=('aerial',12), height = 23 , width = 45, listvariable = filesinfileslist, selectmode = EXTENDED)
FilesShow.place(x=10, y=40)
FilesShow.drop_target_register(DND_FILES)
FilesShow.dnd_bind('<<Drop>>', drop)
Метод drop принимает только файлы pdf и устанавливает его в listBox.
На данный момент это работает в spyder, но файл .exe выдает мне ошибку.Может кто-нибудь показать мне, как решить эту проблему или если я сделал несколько ошибок в коде?