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