簡體   English   中英

Cx_Freeze和Plotly

[英]Cx_Freeze and Plotly

我正在嘗試使用cx_freeze構建使用圖的應用程序。

我以前使用matplotlib構建了該應用程序,但已將圖形切換為plotly。

我可以構建應用程序,但是當我嘗試繪圖時,出現以下錯誤。

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

  File "C:\Python34\lib\site-packages\plotly\offline\offline.py", line 284, in p
lot
    get_plotlyjs(),
  File "C:\Python34\lib\site-packages\plotly\offline\offline.py", line 48, in ge
t_plotlyjs
    plotlyjs = resource_string('plotly', path).decode('utf-8')
  File "C:\Python34\lib\site-packages\pkg_resources\__init__.py", line 1184, in
resource_string
    self, resource_name
  File "C:\Python34\lib\site-packages\pkg_resources\__init__.py", line 1457, in
get_resource_string
    return self._get(self._fn(self.module_path, resource_name))
  File "C:\Python34\lib\site-packages\pkg_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_exe \\ offline \\ plotly.min.js中也包含plotly.min.js。

據我所知pkg_resources有問題嗎?

編輯:似乎pkg_resources在library.zip文件中尋找文件,但是它包含在library.zip之外的路徑中。 我似乎找不到在setup.py中將文件添加到library.zip文件中的方法

謝謝你的幫助。

好的,我知道了。 您可以將文件包含在setup.py中。 首先創建要包含的文件列表,就像普通的include一樣。 python_dir是包含文件的python目錄的路徑。

zip_includes = [('%s\Lib\site-packages\plotly\offline\plotly.min.js' % str(python_dir), 'plotly\offline\plotly.min.js'),
                ('%s\Lib\site-packages\plotly\widgets\graphWidget.js' % str(python_dir), 'plotly\widgets\graphWidget.js'),
                ('%s\Lib\site-packages\plotly\graph_reference\default-schema.json' % str(python_dir), 'plotly\graph_reference\default-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中的文件,並且不會像典型的外部文件那樣包含它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM