【问题标题】:How to make pyinstaller import the ttk theme?如何让 pyinstaller 导入 ttk 主题?
【发布时间】:2017-11-19 18:56:52
【问题描述】:

我已经完成了一个项目,它在下面

import tkinter as tk
from tkinter import ttk
import tkinter.messagebox as tmb
from ttkthemes import ThemedStyle

class UI(ttk.Frame):
    def __init__(self, parent=None):
        super(UI,  self).__init__(parent)
        self.parent = parent
        style = ThemedStyle(parent)
        style.set_theme("arc")
        self.parent.geometry("480x520")
        self.init_ui()

    def init_ui(self):
        self.parent.title("Nueva ventana heredada")
        self.entrada = ttk.Entry(self, text="ingresa")
        self.entrada.grid(row=2, column=2) 
        boton = ttk.Button(self, text="pulsame", command=self.ver)
        boton.grid(row=2, column=3)
        self.pack()

    def ver(self):
        try:
            res = int(self.entrada.get())
            print(res)
        except ValueError:
            tmb.showwarning(title = "error", message = " error")

if __name__== '__main__':
    root = tk.Tk() 
    sug = tk.Label(root, text="aqui es para escribir")
    sug.pack()
    app = UI(parent=root)
    app.mainloop()

当我使用pyinstaller创建exe时,释放导出的exe程序无法执行的错误:下面我保留它,我使用它,需要注意的是我为程序使用了thema并且我怀疑是进口的。

pyinstaller --windowed ui.py -i icono.ico --onefile

错误

致命错误! 执行脚本 ui 失败

到类似的网址 https://es.stackoverflow.com/questions/118595/como-hacer-que-pyinstaller-importe-el-ttktheme

【问题讨论】:

    标签: python pyinstaller


    【解决方案1】:

    因为 ttkthemes 似乎对目录做了一些有趣的事情,所以你可以通过修改规范文件来让它工作。

    从 pyinstaller 为您的应用程序生成一个规范文件,并添加以下内容(根据需要更改站点包的路径)

    a= Analysis(.....datas=[],更改为:

    data= [('venv\\Lib\\site-packages\\ttkthemes', 'ttkthemes')],

    并将 ttkthemes 添加到 hiddenimports

    hiddenimports=['ttkthemes'],

    这似乎对我有用

    【讨论】:

      【解决方案2】:

      代码对我来说很好用。看起来你还没有成功导入 ttkthemes,即它没有正确安装。因此,您应该再做一次。安装 ttkthemes(假设你已经有 python3 和安装工具):

      sudo apt-get install python3-tk
      sudo -H pip3 install ttkthemes
      

      这应该可以正常工作。

      【讨论】:

        猜你喜欢
        • 2018-04-25
        • 1970-01-01
        • 2021-12-21
        • 1970-01-01
        • 2017-04-07
        • 1970-01-01
        • 2016-02-20
        • 1970-01-01
        • 2014-08-30
        相关资源
        最近更新 更多