cx_freeze的mpl数据错误 - Linux 13.10

时间:2014-04-10 10:11:55

标签: python linux matplotlib cx-freeze

我是堆叠溢出的新手,我希望我不会问一些明显的问题。事实上,我在网上做了很多搜索,但我找不到合适的答案/解决方案。

我正在构建一个基于python的开源跨平台桌面应用程序。我正在使用cx_freeze来构建分发版本。 cx_freeze适用于Windows 7和Mac OS X 10.9.2,并且已经构建了应用程序。尽管如此,当我尝试使用相同的setup.py文件在Linux 13.10上构建diet_version时,我收到以下错误:

我的建筑选择是:

build_exe_options = {"includes":["matplotlib.backends.backend_tkagg","sys","os","PyQt4","numpy","sys","os","matplotlib"],
                     "include_files":[(matplotlib.get_data_path(), 'mpl-data')],
                     "excludes":[],
                     }

我收到以下错误:

error: build/exe.linux-x86_64-2.7/mpl-data: Is a directory

我尝试在构建选项中使用mpl-data的完整路径,即

build_exe_options = {"includes":["matplotlib.backends.backend_tkagg","sys","os","PyQt4","numpy","sys","os","matplotlib"],
                     "include_files":[("/usr/share/matplotlib/mpl-data", 'mpl-data'), ("/usr/share/matplotlib/mpl-data/fonts", 'mpl-data/fonts'),("/usr/share/matplotlib/mpl-data/images", 'mpl-data/images'),("/etc/matplotlibrc", 'mpl-data')],
                     "excludes":[],
                     }

但我一直得到同样的错误。

如果我没有像在Windows 7上那样声明build_exe选项,我在Linux上遇到以下错误:

error: /usr/lib/pymodules/python2.7/matplotlib/mpl-data: No such file or directory

我担心错误发生是因为mpl-data位于$ / usr / share / matplotlib / mpl-data而不是$ / usr / lib / pymodules / python2.7 / matplotlib / mpl-data,但我有不知道为什么即使在声明文件夹的路径后错误仍然存​​在。

总而言之,我发布了适用于Windows和Mac OS的桌面应用程序,没有任何问题(就像魅力一样!),但linux版本仍处于独立版本(请查看Linux源代码:{{ 3}})。任何人都可以对这个问题有所了解吗?如何告诉cx_freeze获取没有错误的mpldata。

提前致谢,

WBR

0 个答案:

没有答案