解決pyinstaller打包運行程序時出現(xiàn)缺少plotly庫問題
用pyinstaller打包tkinter程序,打包后運行exe是報如下錯誤:

搜索一陣發(fā)現(xiàn)是pyinstaller在打包的時候(StartRun.py我要打包的主程序文件)可能會漏掉一些三方庫,就在打包的時候加上三方庫的絕對路徑:
pyinstaller StartRun.py -F -p C:\Python36\Lib\site-packages
發(fā)現(xiàn)打包完之后還是會報以上問題,繼續(xù)搜索后用添加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 創(chuàng)建一個目錄,包含exe文件,但會依賴很多文件(默認選項)
-c –console, –nowindowed 使用控制臺,無界面(默認)
-w –windowed, –noconsole 使用窗口,無控制臺
-i 改變生成程序的icon圖標
pyinstaller打包plotly后無法正常運行的問題
在使用pyinstaller打包帶有plotly的程序后,在運行程序時會出現(xiàn)如下反饋
"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現(xiàn)在還無法兼容plotly的原因所造成的,解決方法如下:
1.在打包時不要選擇使用-F打包成單個文件
2.在打包完后,從anaconda目錄下復制plotly文件夾(作者的位置是E:Anaconda3\Lib\site-packages\plotly)到打包完成的文件夾中(作者的位置是D:\Anaconda Library\XXXX項目\dist{exe名字文件夾}\)。
復制完成后,就可以順利使用exe文件啦~
到此這篇關于解決pyinstaller打包運行程序時出現(xiàn)缺少plotly庫問題的文章就介紹到這了,更多相關pyinstaller打包運行plotly出錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python 實現(xiàn) 貪吃蛇大作戰(zhàn) 代碼分享
本文給大家分享的是一個使用cocos2d-python游戲引擎庫制作出來的貪吃蛇大作戰(zhàn)的游戲代碼,基于Python 2.7 和 cocos2d 庫,有需要的小伙伴可以參考下2016-09-09
MySQL中表的復制以及大型數(shù)據(jù)表的備份教程
這篇文章主要介紹了MySQL中表的復制以及大型數(shù)據(jù)表的備份教程,其中大表備份是采用添加觸發(fā)器增量備份的方法,需要的朋友可以參考下2015-11-11
PyQt5 PySide2 觸摸測試功能的實現(xiàn)代碼
這篇文章主要介紹了PyQt5 PySide2 觸摸測試功能的實現(xiàn),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04

