个人博客转至:tybai.com

无聊就想打码,打码使我快乐


Fork me on GitHub

Python3 打包exe

cx_Freeze(不推荐)

以前只用 cx_Freeze 支持将 python3 打包成 exe ,示例如下:

在你要打包的 python 文件下新建这个 setup.py 文件:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from cx_Freeze import setup, Executable

base = None

executables = [
    Executable('你的代码.py', base=base)
]

setup(
    name="TTyb",
    version="1.0",
    description="打包示例",
    executables=executables
)

然后在当前命令行执行:

python3 setup.py build

这时候会在当前目录下生成一个 build 文件,里面就有一个 exe

注意: cx_Freeze 打包回忽略依赖文件,所有一般依赖文件要手动从 site-packge 里面拷贝到build文件里面去,特别麻烦!

PyInstaller(推荐)

后面 PyInstaller 开始支持 python3 打包,这样子打包就方便很多了,直接在当前命令行下:

#命令语法:pyinstaller -F 文件名(带后缀py)
#常用参数说明:
#–icon=图标路径
#-F 打包成一个exe文件
#-w 使用窗口,无控制台
#-c 使用控制台,无窗口
#-D 创建一个目录,里面包含exe以及其他一些依赖性文件
#pyinstaller -h 来查看参数

#将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:
#有命令窗口弹出
pyinstaller -F shjys_rjjqk.py  
#无命令窗口弹出
pyinstaller -F -w shjys_rjjqk.py  
#或者
pyinstaller -F shjys_rjjqk.py  --noconsole

打包好的exe文件,在同目录的 dist 文件中,如果有依赖文件,就可以放到dist文件夹下即可

当打包出现错误:

for real_module_name, six_moduleAttributeError: 'str' object has no attribute 'items'

说明 setuptools 版本不行,直接更新这个版本就好:

pip3 install -U setuptools

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3qlzjs99fq4gg

posted on 2019-05-13 10:40  TTyb  阅读(1798)  评论(0编辑  收藏  举报

导航


不用多久

我就会升职加薪

当上总经理

出任CEO

迎娶白富美

走上人生巅峰

Pulpit rock