如何使用plotly

时间:2019-07-17 07:03:35

标签: python runtime-error plotly pyinstaller

我正在尝试编写使用plotly的python软件。当我使用控制台执行脚本时,该脚本运行良好。之后,我使用Pyinstaller创建了一个exe文件。但是exe的执行失败,并显示错误消息

  

FileNotFoundError:没有这样的文件或目录   “ Path \ To \ PythonScript \ plotly \ package_data \ plotly.min.js”

以下是有关我的系统的一些信息:

  • 操作系统:Windows 10

  • Python 3.7.4

  • 情节3.10.0


import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, plot

xValues = [1, 2, 3]
yValues1 = [5, 5, 5]
yValues2 = [7, 6, 7]

firstTrace = go.Scatter( x = xValues, y = yValues1, mode='lines+markers', name='first' )
secondTrace = go.Scatter( x = xValues, y = yValues2, mode='lines+markers', name='second' )

plottedData = [firstTrace, secondTrace]

plot( plottedData )

我该怎么办,以便该exe运行时没有出现此错误?

1 个答案:

答案 0 :(得分:0)

通常,PyInstaller不会处理所有模块依赖项,尤其是当它们使用其他文件时。您需要手动将它们提供给最终的可执行文件。

因此,对于plotly,它使用名为package_data的目录,其中包含模板文件,js文件等。因此,您需要使用Tree类将其添加到可执行文件中。编辑您生成的规格文件:

# -*- mode: python -*-

block_cipher = None


a = Analysis(
    ...
)
a.datas += Tree("<Python_Path>/Lib/site-packages/plotly/package_data/", "./plotly/package_data")
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
...