Исполняемый файл PyInstaller не показывает графический интерфейс - PullRequest
0 голосов
/ 13 февраля 2019

В настоящее время я работаю над программой, которая принимает определенный файл в качестве входных данных, работает с данными и предоставляет два графика через Matplotlib (единственный модуль, импортированный в файл анализа данных).

Для этого ясделал небольшой графический интерфейс для пользователя, чтобы выбрать файл, из которого сделан график.(w / tkinter и PIL импортированы).

Мне нужно сделать из этого приложение, и я использую для этого PyInstaller.К сожалению, я не смог заставить окончательный файл работать (или работать должным образом).


Я уже внес несколько изменений как в сам код, так и в файл .spec PyInstaller.

Я добавил функцию для исправления пути для PyInstaller.Я изменил файл .spec, чтобы добавить путь к изображению, а не показывать консоль.Я пробовал с этими настройками как вкл / выкл: UPX, One File.Я проверил файлы журналов на наличие отсутствующих модулей, так как все выглядит нормально.


Часть кода:

Импорт в файл графического интерфейса:

import sys
import os
import tkinter as tk
from tkinter.filedialog import askopenfilename
from tkinter.messagebox import showerror
from PIL import ImageTk, Image
import rectifierDataParser

Импортирует в файл анализа данных:

import sys
import os
import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt

Файл GUI:

class Application(tk.Frame):
    def __init__(self, master = None):
        tk.Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.fileButton = tk.Button(self, text(...))
        self.quitButton = tk.Button(self, text(...))
        self.fileButton.pack(side = 'top')
        self.quitButton.pack(side = 'bottom')

    def load_file(self):
        filename = askopenfilename(title = "Select file", filetypes = [("Files", ("*.001", (...)))]
        rectifierDataParser.main(filename)

    def resource_path(relative_path):
        try:
            base_path = sys._MEIPASS
        except Exception:
            base_path = os.path.abspath(".")

app = Application()
app.master.title('Graphing Data')
app.master.geometry('300x200')
img = ImageTk.PhotoImage(Image.open("logo.jpg"))
panel = tk.Label(app, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
app.mainloop()

Поскольку в настоящее время я не могу видеть графический интерфейс на экране, есть липроблема с самим кодом или какая-либо совместимость с PyInstaller (предположительно PyInstaller является полностью функциональным с Tkinter).

Я надеюсь, что один из вас может помочь мне добиться прорыва, так как я застрял на этом из-за большого количества времени!Большое спасибо заранее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...