美文网首页
将py文件打包成exe

将py文件打包成exe

作者: 小帅明3号 | 来源:发表于2021-01-18 17:28 被阅读0次

    一、打包命令

    pyinstaller -F Excel内容合并.py -p C:\Users\dell\PycharmProjects\LKM_Pro\venv\Lib\site-packages

    -p 指定资源目录寻找依赖包
    带有GUI的 -w参数可以屏蔽小黑框

    pyinstaller -F 你的.py -p C:\Users\dell\PycharmProjects\LKM_Pro\venv\Lib\site-packages

    若嫌弃自己打包的exe太大,可能是压进去很多没有依赖性的冗余文件,可用如下虚拟环境解决
    建立虚拟环境
    pipenv install
    进入虚拟环境
    pipenv shell
    安装模块
    pip install 小工具.py里面用到的模块
    打包的模块也要安装
    pip install pyinstaller
    开始打包
    pyinstaller -F C:\Users\dell\PycharmProjects\LKM_Pro\图片切两半.py

    二、若项目依赖一些txt或图片文件,打包单个exe打包不进去 可以:

    1.将图片路径的构造方式有相对路径变为构造绝对路径,因为在执行exe时资源文件会被解压到C:\Users\xxx\AppData\Local\Temp_MEI33282这样的一个名称随机的文件夹
    声明方法调度如下:
    def resource_path(relative):
    if hasattr(sys, "_MEIPASS"):
    absolute_path = os.path.join(sys._MEIPASS, relative)
    else:
    absolute_path = os.path.join(relative)
    return absolute_path

    pygame.init()
    screen = pygame.display.set_mode((400,300))

    bg_image = pygame.image.load(resource_path('bg.jpeg'))
    2.然后修改:他的.spec里的:
    exe = EXE(pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [('bg.jpeg','D:\mycode\bg.jpeg','DATA')],
    name='game',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True )

    3.在a.datas下方的数组里填上要打包的图片,如果是两个图片,那么写成
    [('bg.jpeg','D:\mycode\bg.jpeg','DATA'),('bg2.jpeg','D:\mycode\bg2.jpeg','DATA')]

    4.然后把console=True这一行,改成console=Flase后再用pyinstaller 他的.spec打包就完美结束了

    相关文章

      网友评论

          本文标题:将py文件打包成exe

          本文链接:https://www.haomeiwen.com/subject/numxzktx.html