解決pyinstaller打包運(yùn)行程序時(shí)出現(xiàn)缺少plotly庫(kù)問(wèn)題
用pyinstaller打包tkinter程序,打包后運(yùn)行exe是報(bào)如下錯(cuò)誤:

搜索一陣發(fā)現(xiàn)是pyinstaller在打包的時(shí)候(StartRun.py我要打包的主程序文件)可能會(huì)漏掉一些三方庫(kù),就在打包的時(shí)候加上三方庫(kù)的絕對(duì)路徑:
pyinstaller StartRun.py -F -p C:\Python36\Lib\site-packages
發(fā)現(xiàn)打包完之后還是會(huì)報(bào)以上問(wèn)題,繼續(xù)搜索后用添加hook文件的方式可以解決(徹底解決了我的問(wèn)題),修改方法:
1.找到C:\Python36\Lib\site-packages\PyInstaller\hooks,長(zhǎng)這樣:

2.需要在這里新建一個(gè)類(lèi)似的文件hook-plotly.py,文件內(nèi)容如下:
from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files('plotly')
3.然后重新打包,打包的時(shí)候切記把StartRun.py的同級(jí)目錄下StartRun.spec文件刪除(在打包的時(shí)候會(huì)自動(dòng)生成,如果不刪除之前不成功的內(nèi)容還是緩存在的),打包過(guò)程中會(huì)看到添加了plotly庫(kù):

pyinstaller打包常用命令:
-F 指定打包后只生成一個(gè)exe格式的文件
-D –onedir 創(chuàng)建一個(gè)目錄,包含exe文件,但會(huì)依賴(lài)很多文件(默認(rèn)選項(xiàng))
-c –console, –nowindowed 使用控制臺(tái),無(wú)界面(默認(rèn))
-w –windowed, –noconsole 使用窗口,無(wú)控制臺(tái)
-i 改變生成程序的icon圖標(biāo)
pyinstaller打包plotly后無(wú)法正常運(yùn)行的問(wèn)題
在使用pyinstaller打包帶有plotly的程序后,在運(yùn)行程序時(shí)會(huì)出現(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)在還無(wú)法兼容plotly的原因所造成的,解決方法如下:
1.在打包時(shí)不要選擇使用-F打包成單個(gè)文件
2.在打包完后,從anaconda目錄下復(fù)制plotly文件夾(作者的位置是E:Anaconda3\Lib\site-packages\plotly)到打包完成的文件夾中(作者的位置是D:\Anaconda Library\XXXX項(xiàng)目\dist{exe名字文件夾}\)。
復(fù)制完成后,就可以順利使用exe文件啦~
到此這篇關(guān)于解決pyinstaller打包運(yùn)行程序時(shí)出現(xiàn)缺少plotly庫(kù)問(wèn)題的文章就介紹到這了,更多相關(guān)pyinstaller打包運(yùn)行plotly出錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python檢測(cè)遠(yuǎn)程端口是否打開(kāi)的方法
這篇文章主要介紹了python檢測(cè)遠(yuǎn)程端口是否打開(kāi)的方法,實(shí)例分析了Python基于socket檢測(cè)端口的技巧,需要的朋友可以參考下2015-03-03
Python 實(shí)現(xiàn) 貪吃蛇大作戰(zhàn) 代碼分享
本文給大家分享的是一個(gè)使用cocos2d-python游戲引擎庫(kù)制作出來(lái)的貪吃蛇大作戰(zhàn)的游戲代碼,基于Python 2.7 和 cocos2d 庫(kù),有需要的小伙伴可以參考下2016-09-09
python根據(jù)unicode判斷語(yǔ)言類(lèi)型實(shí)例代碼
這篇文章主要介紹了python根據(jù)unicode判斷語(yǔ)言類(lèi)型實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程
這篇文章主要介紹了MySQL中表的復(fù)制以及大型數(shù)據(jù)表的備份教程,其中大表備份是采用添加觸發(fā)器增量備份的方法,需要的朋友可以參考下2015-11-11
PyQt5 PySide2 觸摸測(cè)試功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了PyQt5 PySide2 觸摸測(cè)試功能的實(shí)現(xiàn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04

