Python打包源程序和资源文件为.exe文件

        话不多说,内容如上,直接开搞:

        1、安装pyinstaller组件(已经安装可以跳过)

        cmd打开命令行,cd转到在你要打包的.py文件的上层目录。

        输入:

pip install pyinstaller

        等待正常安装即可,有可能会弹出需要你更新,这个时候按照它提示的一条更新指令更新即可。

        2、修改.py文件中的一些路径(没有需要路径的资源可以跳过)


def get_resources_path(relative_path):
    if getattr(sys, 'frozen', False):
        base_path = sys._MEIPASS
    else:
        base_path = os.path.abspath('.')
    return os.path.join(base_path, relative_path)


"""
LOGO_PATH = '../resources' + os.sep + 'logo.png'
IMAGE_PATH = '../resources' + os.sep + 'index.png'
"""

LOGO_PATH = get_resources_path(os.path.join('../resources', 'logo.png'))
IMAGE_PATH = get_resources_path(os.path.join('../resources', 'index.png'))

        注释中的是原本的路径,加入了一个函数,更改了路径的表达形式。

        一定要注意路径的正确!

        3、制作.spec文件

        cmd打开命令行,cd转到在你要制作的.py文件的上层目录。

        输入:

pyi-makespec -F yootk.py

        yooyk.py是我要制作的源程序文件,你需要修改成你要制作的文件的名字。

        等待制作完成即可。

        4、配置.spec文件(没有需要路径的资源可以跳过)

        如果制作成功的话可以看到在pycharm中你的源程序文件所在的文件夹里出现了一个同名的.spec文件,打开它,配置以下内容:

a = Analysis(['yootk0.py'],
             pathex=[],
             binaries=[],
             datas=[('../resources', '../resources')],
             hiddenimports=[],
             hookspath=[],
             hooksconfig={},
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)

        就是像上图中添加了datas中的文件路径而已。

        5、打包程序

        cmd打开命令行,cd转到在你要制作的.py文件的上层目录。

        输入:

pyinstaller -F yootk.spec

        如果没有资源文件直接输入 pyinstaller -F yootk.py即可    

        打包成功后你的工作目录下dist文件夹中就会出现一个可执行文件了,可以把你的程序发给任何配置了Python的小伙伴一起玩耍了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值