PyInstaller 如何打包多个py文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyInstaller 如何打包多个py文件?相关的知识,希望对你有一定的参考价值。
求高手帮助:
我想利用pyInstaller或者任何Python打包工具,把多个py文件打包成exe文件;这些py文件中,有一个是mymain.py;它会调用其他的如a.py,b.py;同时这些py 文件会调用一些第三方库,如numpy之类的。我想把他们打包成一个exe,请教如何做
目前pyinstaller支持的python版本为2.3-2.7,可以到官网下载。
2、安装
下载完成后,解压即可。
3、pyinstaller使用方法
使用也非常的简单,cmd下进入解压出来的目录,执行如下命令。
python pyinstaller.py [opts] yourprogram.py
主要选项包括:
-F, –onefile 打包成一个exe文件。
-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-c, –console, –nowindowed 使用控制台,无界面(默认)
-w, –windowed, –noconsole 使用窗口,无控制台
参考技术A python Configure.py #仅第一次执行
python Makespec.py toexe\hello.py #生成的hello.spec文件存默认放在当前目录的hello文件夹下
python Build.py hello\hello.spec #生成的exe文件在当前目录下的hello\dist文件夹下追问
这个我清楚,是PyInstaller1.5版本的一个例子。这个我能够实现,我的问题是,我有很多的py文件。
然后执行的时候,产生的exe运行;因为我调用了skimage库;所以出现了can not extract skimage._***.***的文件的错误
奥,这是比较麻烦的;
建议你,你你的程序的依赖包,
添加到你的安装程序里面;
然后在你的程序里面写上判断语句;
让使用者,自己运行安装包。
好吧,谢谢你了。。。我最后还是求其次用了py2exe了
追答不断学习,不断摸索,先实现再说。
本回答被提问者采纳vs2017如何打包python项目,生成exe文件
参考技术A 可以使用PyInstaller把python程序打包成exe,安装使用pip install pyinstaller,使用时,使用pyinstaller打包,参数如下-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console
使用控制台子系统执行(默认)(只对Windows有效)
pyinstaller -c xxxx.py
pyinstaller xxxx.py --console
-s,–strip 可执行文件和共享库将run through strip.注意Cygwin的strip往往使普通的win32 Dll无法使用.
-X, –upx 如果有UPX安装(执行Configure.py时检测),会压缩执行文件(Windows系统中的DLL也会)(参见note)
-o DIR, –out=DIR 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下.
-p DIR, –path=DIR 设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
–icon=<FILE.ICO>
将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py
–icon=<FILE.EXE,N> 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
-n NAME, –name=NAME 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字本回答被提问者采纳
以上是关于PyInstaller 如何打包多个py文件?的主要内容,如果未能解决你的问题,请参考以下文章
通过Cython打包py文件,生成包含pyd的wheel(.whl)