用pyinstaller打包tkinter程序,打包后运行exe是报如下错误:
搜索一阵发现是pyinstaller在打包的时候(StartRun.py我要打包的主程序文件)可能会漏掉一些三方库,就在打包的时候加上三方库的绝对路径:
pyinstaller StartRun.py -F -p C:\Python36\Lib\site-packages
发现打包完之后还是会报以上问题,继续搜索后用添加hook文件的方式可以解决(彻底解决了我的问题),修改方法:
1.找到C:\Python36\Lib\site-packages\PyInstaller\hooks,长这样:
2.需要在这里新建一个类似的文件hook-plotly.py,文件内容如下:
from PyInstaller.utils.hooks import collect_data_files datas = collect_data_files('plotly')
3.然后重新打包,打包的时候切记把StartRun.py的同级目录下StartRun.spec文件删除(在打包的时候会自动生成,如果不删除之前不成功的内容还是缓存在的),打包过程中会看到添加了plotly库:
pyinstaller打包常用命令:
-F 指定打包后只生成一个exe格式的文件
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c –console, –nowindowed 使用控制台,无界面(默认)
-w –windowed, –noconsole 使用窗口,无控制台
-i 改变生成程序的icon图标
pyinstaller打包plotly后无法正常运行的问题
在使用pyinstaller打包带有plotly的程序后,在运行程序时会出现如下反馈
"c:\users*\appdata\local\continuum\anaconda3\envs\py34\lib\site-p ackages\PyInstaller\loader\pyimod03_importers.py", line 474, in get_data
with open(path, 'rb') as fp:
FileNotFoundError: [Errno 2] No such file or directory:
'H:\Python\Commodity_M AI_Trade_List\Code\dist\comdty_runtime\plotly\package_data\default-schema. json'
Failed to execute script comdty_runtime
这是由于pyinstaller现在还无法兼容plotly的原因所造成的,解决方法如下:
1.在打包时不要选择使用-F打包成单个文件
2.在打包完后,从anaconda目录下复制plotly文件夹(作者的位置是E:Anaconda3\Lib\site-packages\plotly)到打包完成的文件夹中(作者的位置是D:\Anaconda Library\XXXX项目\dist{exe名字文件夹}\)。
复制完成后,就可以顺利使用exe文件啦~
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]