关于pyinstaller将py文件转为exe文件的问题,如何解决?

程序源码:

#导入各项模块
import sys
import random
import easygui
import pyautogui
import pygame

#初始化各项模块
pygame.init()   

#定义函数
def tc1():
    tc = pyautogui.confirm(text='退出程序',title='是否退出程序',buttons=['是','否'])
    while True:
        if tc == "是":
            pyautogui.alert(text='期待您的下次游玩', title='再见')
            sys.exit()
        elif tc == "否":
            break
def b(x,y):
    screen.blit(x,y)
    pygame.display.flip()

#导入各项素材
bz_1 = pygame.image.load("G:/树人/bz_1.png")     #5120*2880
'''bz_2 = pygame.image.load("bz_2.png")     #5120*2880
bz_3 = pygame.image.load("bz_3.png")     #5120*2880
bz_4 = pygame.image.load("bz_4.png")     #5120*2880
bz_5 = pygame.image.load("bz_5.png")     #5120*2880
bz_6 = pygame.image.load("bz_6.png")     #5120*2880
bz_7 = pygame.image.load("bz_7.png")     #5120*2880
bz_8 = pygame.image.load("bz_8.png")     #5120*2880
bz_9 = pygame.image.load("bz_9.png")     #5120*2880
bz_10 = pygame.image.load("bz_10.png")   #5120*2880
button = pygame.image.load("button.png") #170#70'''
button_csz = pygame.image.load("G:/树人/button_csz.png")  #267*111
x_1 = pygame.transform.scale(bz_1,(1600,780))

#用户GUI
while True:
    xz_1 = pyautogui.confirm(text='请选择',title='小游戏-Small Game',buttons=['游戏说明','开始游戏','关于我们','退出程序'])
    if xz_1 == "开始游戏":
        screen = pygame.display.set_mode((1600,780))
        b(x_1,(0,0))
        b(button_csz,(100,100))
        pygame.display.set_caption("游戏选择")
        while True:
            pygame.init()
            for event in pygame.event.get(): 
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()
                elif event.type == pygame.MOUSEBUTTONDOWN:
                    x1 = event.pos[0]
                    y1 = event.pos[1]
                    if 100 <= x1 <= 367 and 100 <= y1 <= 211:
                        pygame.quit()
                        k = easygui.enterbox("是否开始游玩《猜数字》?")
                        if k == "是" or k =="开始":
                            x = int(easygui.enterbox("请输入一个整数作为起始值"))
                            y = int(easygui.enterbox("请输入一个整数作为结束值"))
                            if y < x:
                                xt = random.randint(x,y)
                                x1 = str(x)
                                y1 = str(y)
                                hd = pyautogui.prompt(text="请输入"+x1+"-"+y1+"的整数",title="提示框-Small Game",default="请输入你的答案")
                                if hd == "请输入你的答案":
                                     hd = pyautogui.prompt(text="请输入"+x1+"-"+y1+"的整数",title="提示框-Small Game",default="请输入你的答案")
                                elif hd == xt:
                                    pyautogui.alert("恭喜,猜对了!", title="结果")
                                elif hd > xt:
                                    pyautogui.alert("您的数字过大,请重新输入。", title="结果")
                                    hd = int(input("请输入"+x1+"-"+y1+"的整数"))
                                elif hd < xt:
                                    pyautogui.alert("您的数字过小,请重新输入。", title="结果")
                                    hd = int(input("请输入"+x1+"-"+y1+"的整数"))
                                elif hd < x:
                                    pyautogui.alert("请不要超出范围,请重新输入。", title="结果")
                                    hd = int(input("请输入"+x1+"-"+y1+"的整数"))
                                elif hd > y:
                                    pyautogui.alert("请不要超出范围,请重新输入。", title="结果")
                                    hd = int(input("请输入"+x1+"-"+y1+"的整数"))
                            elif x > y:
                                easygui.msgbox("起始值不能大于结束值")
                                x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                y = int(easygui.enterbox("请输入一个整数作为结束值"))
                            elif x == y:
                                easygui.msgbox("起始值不能等于结束值")
                                x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                y = int(easygui.enterbox("请输入一个整数作为结束值"))
                            elif x < 0:
                                easygui.msgbox("起始值不能为负数")
                                x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                y = int(easygui.enterbox("请输入一个整数作为结束值"))
                            elif y < 0:
                                easygui.msgbox("结束值不能为负数")
                                x = int(easygui.enterbox("请输入一个整数作为起始值"))
                                y = int(easygui.enterbox("请输入一个整数作为结束值"))
                        elif k == "否" or k == "不开始":
                            tc1()
                            break
                        elif k == None:
                            tc1()
                        else:
                            easygui.msgbox("我不了解您的意思,请重新输入")
                            k = easygui.enterbox("是否开始游玩《猜数字》?")
                    else:
                        pass
                    pass
                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_SPACE:
                        sys.exit()
    elif xz_1 == "游戏说明":
        ts_2 = pyautogui.alert(text="猜数字:首先输入一个起始值,再输入一个结束值,最后,输入在这个范围内您心里想的数字即可",title="游戏说明",button="好的")
    elif xz_1 == "关于我们":
        ts_3 = pyautogui.alert(text="版本:0.0.5",title="警告",button="好的")
    elif xz_1 == "退出程序":
        tc1()
    elif xz_1 == None:
        tc1()
#猜数字程序
if k == "是" or k =="开始":
    xt = random.randint(x,y)
    x1 = str(x)
    y1 = str(y)
    hd = pyautogui.prompt(text="请输入"+x1+"-"+y1+"的整数",title="提示框-Small Game",default="请输入你的答案")
    if hd == "请输入你的答案":
         hd = pyautogui.prompt(text="请输入"+x1+"-"+y1+"的整数",title="提示框-Small Game",default="请输入你的答案")
    elif hd == xt:
        pyautogui.alert("恭喜,猜对了!", title="结果")
    elif hd > xt:
        pyautogui.alert("您的数字过大,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
    elif hd < xt:
        pyautogui.alert("您的数字过小,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
    elif hd < x:
        pyautogui.alert("请不要超出范围,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
    elif hd > y:
        pyautogui.alert("请不要超出范围,请重新输入。", title="结果")
        hd = int(input("请输入"+x1+"-"+y1+"的整数"))
                
            
'''sjs = random.randint(x,y)
hd = int(input("请输入1-5的随机整数"))

while True:
    if hd == sjs:
        print("恭喜,答对了")
        hd2 = input("是否再玩一遍")
        if hd2 == "是":
            sjs = random.randint(x,y)
            hd = int(input("请输入1-5的随机整数"))
        elif hd2 == "否":
            break
    else:
        if hd > sjs:
            print("")
        print("你答错了")
        hd = int(input("请输入1-5的随机整数"))'''

问题:

img

1.把pygame文件夹加入环境变量path
2.把pygame整个拷贝到你的工程目录里
你现在IDE认识pygame的目录,但是pyinstaller不认识