Cx_Freeze 和 Plotly

2023-09-29Python开发问题
3

本文介绍了Cx_Freeze 和 Plotly的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试使用 cx_freeze 构建一个应用程序的 exe.

I am trying to build an exe of an application that uses plotly using cx_freeze.

我之前使用 matplotlib 构建了应用程序,但已将绘图切换为 plotly.

I have previously built the application using matplotlib but have switched the graphing over to plotly.

我可以构建应用程序,但是当我尝试绘图时,我收到以下错误.

I can build the application but when I try to plot, I get the following error.

 url = py.plot(fig, filename='pandas-box-plot')

  File "C:Python34libsite-packagesplotlyofflineoffline.py", line 284, in p
lot
    get_plotlyjs(),
  File "C:Python34libsite-packagesplotlyofflineoffline.py", line 48, in ge
t_plotlyjs
    plotlyjs = resource_string('plotly', path).decode('utf-8')
  File "C:Python34libsite-packagespkg_resources\__init__.py", line 1184, in
resource_string
    self, resource_name
  File "C:Python34libsite-packagespkg_resources\__init__.py", line 1457, in
get_resource_string
    return self._get(self._fn(self.module_path, resource_name))
  File "C:Python34libsite-packagespkg_resources\__init__.py", line 1535, in
_get
    return self.loader.get_data(path)
OSError: [Errno 0] Error: 'plotly\offline\plotly.min.js'

我尝试在 setup.py 文件中包含 pkg_resources,并且还在 PATH_to_exeofflineplotly.min.js 中包含了 plotly.min.js.

I have tried including pkg_resources in the setup.py file and have also included the plotly.min.js in the PATH_to_exeofflineplotly.min.js.

据我所知 pkg_resources 有问题吗?

As far as I can tell the pkg_resources has the problem?

似乎 pkg_resources 正在 library.zip 文件中查找该文件,但它包含在 library.zip 之外的路径中.我似乎找不到将文件添加到 setup.py 中的 library.zip 文件的方法

It seems like pkg_resources is looking for the file in the library.zip file, but it is included in the path outside of the library.zip. I can't seem to find a way to add the files to the library.zip file in the setup.py

感谢您的帮助.

推荐答案

好的,我想通了.您可以在 setup.py 中包含这些文件.首先创建要包含的文件列表,就像在正常包含中一样.python_dir 是包含文件的 python 目录的路径.

Ok, I figured it out. You can include the files in the setup.py. First create the list of files to include, like in the normal includes. python_dir is the path to your python directory that contains the files.

zip_includes = [('%sLibsite-packagesplotlyofflineplotly.min.js' % str(python_dir), 'plotlyofflineplotly.min.js'),
                ('%sLibsite-packagesplotlywidgetsgraphWidget.js' % str(python_dir), 'plotlywidgetsgraphWidget.js'),
                ('%sLibsite-packagesplotlygraph_referencedefault-schema.json' % str(python_dir), 'plotlygraph_referencedefault-schema.json')]

然后在您的设置中:

setup(name="Orion",
      version="1,
      author="Jonathan",
      description="Metering analysis tool",
      options={'build_exe': {'excludes': excludes, 'packages': packages, 'include_files': include_files, 'build_exe': "%s/build" % BASE_PATH, 'zip_includes': zip_includes}},
      executables=[compileTarget]
      )

这将包含 library.zip 中的文件,并且不会像要包含的典型外部文件那样包含它们.

This will include the files inside the library.zip and will not include them like the typical external files to include.

这篇关于Cx_Freeze 和 Plotly的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10

按10分钟间隔对 pandas 数据帧进行分组
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)...
2024-08-22 Python开发问题
11