
1、下载pyinstaller
目前pyinstaller支持的python版本为23-27,可以到官网下载。
2、安装
下载完成后,解压即可。
3、pyinstaller使用方法
使用也非常的简单,cmd下进入解压出来的目录,执行如下命令。
python pyinstallerpy [opts] yourprogrampy
主要选项包括:
-F, –onefile 打包成一个exe文件。
-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-c, –console, –nowindowed 使用控制台,无界面(默认)
-w, –windowed, –noconsole 使用窗口,无控制台
文件构成
使用pyinstaller打包的时候,仅打包py文件,其余依赖项只需在打包完成后,拷入打包生成的根目录即可。
多文件打包
命令格式如下,下命令为一条命令,为方便显示做了分行处理:
pyinstaller [主文件] -p [其他文件1] -p [其他文件2]
--hidden-import [自建模块1]
--hidden-import [自建模块2]
# 以上为一整条命令
以上文图中结构为例,在根目录打开命令窗口,输入命令:
pyinstaller mainpy -p mysqlpy -p otherpy --hidden-import mysql --hidden-import other
在目录结构:“程序根目录\dist\main\” 下可以找到生成的mainexe。将其他依赖文件拷贝进入“程序根目录\dist\main\” 下,即可运行。
1、下载并安装py2exe,可下载最新版本。
2、编写安装脚本,比较简单,不过多解释,如下:
Screenshot_setuppy
#!/usr/bin/env python
# -- coding: utf-8 --
from distutilscore import setup
import py2exe
includes = ["encodings", "encodings"]
data_files = ['CameraDlldll']
options = {"py2exe":
{ "compressed": 1,
"optimize": 2,
"bundle_files": 1,
"includes": includes
}
}
setup(
version = "10",
description = "Screenshot Tool",
name = "Screenshot Tool",
options = options,
zipfile=None,
data_files = data_files,
console=[{"script": "Screenshotpy", "icon_resources": [(1, "Screenshotico")] }]
)
各参数含义见第5小节或执行python命令行下执行help(py2exe)查看。
3、打包程序:
a、将要找包的程序、文件和打包脚本放在同一目录下,如下:
E:\tmp\pyexe_tmp>tree /F
文件夹 PATH 列表
卷序列号码为 0007F240 101F:F68D
E:
CameraDlldll
screenshotico
Screenshotpy
screenshot_setuppy
没有子文件夹
E:\tmp\pyexe_tmp>
b、执行打包脚本:
E:\tmp\pyexe_tmp>python screenshot_setuppy py2exe
python screenshot_setuppy py2exe
running py2exe
creating E:\tmp\pyexe_tmp\build
creating E:\tmp\pyexe_tmp\build\bdistwin32
creating E:\tmp\pyexe_tmp\build\bdistwin32\winexe
creating E:\tmp\pyexe_tmp\build\bdistwin32\winexe\collect-26
creating E:\tmp\pyexe_tmp\build\bdistwin32\winexe\bundle-26
creating E:\tmp\pyexe_tmp\build\bdistwin32\winexe\temp
creating E:\tmp\pyexe_tmp\dist
searching for required modules
parsing results
finding dlls needed
create binaries
byte compile python files
writing byte-compilation script 'e:\tmp\tmp1ecbcwpy'
最近写了一个小小的程序,需要进行封装exe,为了简单,就直接用了pyinstaller这个模块,对于python36版本的童鞋来说,简直方便的不要。下面就给大家介绍一下如何用pyinstaller去封装程序为exe程序。
首先,需要安装一下pip这个应用,这个已经在前面的文章中说过了,windows和linux都有请借鉴windows和linux。
第二步,安装好pip之后,在cmd命令窗口中输入pip install pyinstaller即能安装上pyinstaller,那么接下来要介绍一下关于pyinstaller几个指令了:
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽;
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹;
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加。
那么通常是使用-F指令,使用的语法是:pyinstaller -F (python程序名称)py
1、安装py2app库
2、终端执行命令:py2applet --make-setup xxpy
若执行失败,则先找到py2app库的地址: 终端执行:sudo find / -name 'py2applet' -type f —— 该命令也可以用来查找其他
a、终端执行:/System/Library/Frameworks/Pythonframework/Versions/27/Extras/bin/py2applet --make-setup /Users/wangzai/PycharmProjects/test/testpy
出现wrote setuppy 表示成功
b、终端执行:
python39 setuppy py2app
出现以下界面表示成功!
生成的app文件在dist里
复制app地址在终端执行,执行成功!
/Users/wangzai/Library/Python/39/lib/python/site-packages/dist/testapp/Contents/MacOS/test
以上就是关于pyinstaller怎么打包既有cmd命令又有gui的py文件全部的内容,包括:pyinstaller怎么打包既有cmd命令又有gui的py文件、Python项目文件(多个子文件,.py文件等)如何用pyinstaller打包为可执行exe文件、如何将一整个python工程打包等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)