python - Python PyInstaller - 无法执行脚本错误
问题描述
我有一个代码,我想将其打包为 EXE。该软件包完全打包,但每当我运行它时,它都会说
执行脚本失败
我的代码:
from tkinter import *
import tkinter.messagebox as tmsg
import string
import random
root = Tk()
def helpf():
tmsg.showinfo("How it works", "Enter the length of the password required\nThen select the strength of password\nClick the generate button to receive the password.\nClick on File->Save to Save the genrated Password")
def savefile():
f=open('/Passwords.txt', 'a')
f.write(pwd +'\n')
f.close()
def password():
global pwd
pwd=""
#pwd=str()
#pwd=""
value = str()
if (Lengthvalue.get()>16) or (Lengthvalue.get()==""):
Label(text="Please enter a correct password strength").grid(row=6,column=1)
if Weakvalue.get()==1:
value = string.ascii_letters
elif Moderatevalue.get()==1:
value = string.ascii_letters + string.digits
elif Strongvalue.get()==1:
value = string.ascii_letters + string.digits + '!?@#'
else:
Label(text="Please select Password Strength").grid(row=6,column=1)
if value!=str():
Label(text=" ").grid(row=6,column=1)
for x in range(0,Lengthvalue.get()):
pwd = pwd + random.choice(value)
Label(text=pwd,font=("Goodtimes",10, "bold")).grid(row=6, column=1)
#def password():
#print(Weakvalue, Moderatevalue, Strongvalue)
root.geometry("500x400")
root.minsize(500,400)
root.maxsize(500,400)
root.title("Random Password Generator")
#Heading
Label(text="Random Password Generator", bg="red", font=("Forte",15, "bold"),borderwidth=5, relief=RIDGE).grid(row=0, column=1)
#CheckBox
Lengthvalue=IntVar()
Weakvalue=IntVar()
Moderatevalue=IntVar()
Strongvalue=IntVar()
Label(text="Enter the length of\nPassword Required:\n(Between 8-16) ").grid(row=1, column=0)
Label(text="Select the Strength of\nPassword Required: ").grid(row=3, column=0)
Length=Entry(root, textvariable=Lengthvalue)
Weak=Checkbutton(text="Weak Password", variable=Weakvalue)
Moderate=Checkbutton(text="Moderate Password", variable=Moderatevalue)
Strong=Checkbutton(text="Strong Password", variable=Strongvalue)
Length.grid(row=1, column=1)
Weak.grid(row=3, column=1)
Moderate.grid(row=4, column=1)
Strong.grid(row=5, column=1)
#Generate Password Button
fr=Frame(root, borderwidth=3, bg="grey", relief=SUNKEN)
fr.grid(row=8, column=1)
b1=Button(fr, bg="white", text="Generate", command=password)
b1.grid(row=8, column=1)
#Adding Menus
mainmenu=Menu(root)
filemenu=Menu(mainmenu, tearoff=0)
filemenu.add_command(label="Save", command=savefile)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=quit)
mainmenu.add_cascade(label="File", menu=filemenu)
root.config(menu=mainmenu)
helpmenu=Menu(mainmenu, tearoff=0)
helpmenu.add_command(label="How it works", command=helpf)
mainmenu.add_cascade(label="Help", menu=helpmenu)
root.config(menu=mainmenu)
root.mainloop()
它是一个随机密码生成器,它在同一目录中的 .txt 文件中创建并保存其答案。
Python 3.60 版(已降级以使 pyinstaller 工作)
解决方案
出奇!这东西对我有用
您需要使用此代码
pyinstaller password_generator.py --add-data passwords.txt
推荐阅读
- python - 将大型稀疏熊猫数据框保存到 excel
- python - 假设像素在快速傅里叶变换中是圆形的
- scala - 在 AKKA 持久性中禁用日志
- swift - Swift PDF 渲染任何 UIView 或 UIViewController PDFKit
- c# - 为 .Net core 和 WCF 创建自定义记录器
- java - 使用 TARSOS DSP 从 WavFiles JAVA 中提取 MFCC 的困难
- swiftui - SwiftUI - 切换工具栏状态
- r - 如何在多个条件下计算 R 中的平均值
- php - 在不使用 Facebook 应用的情况下包含 Facebook 页面评论
- javascript - JavaScript 通过正向后向拆分字符串