我是堆叠溢出的新手,我希望我不会问一些明显的问题。事实上,我在网上做了很多搜索,但我找不到合适的答案/解决方案。
我正在构建一个基于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