我使用下面的代码将.xls文件转换为.xlsx。它正常运行或在调试模式下工作正常,但如果我将其转换为可执行文件(.exe),则以下代码无法正常工作。我猜pyinstaller没有pyexcel挂钩来加载导入。有什么办法可以将这个导入pyexcel添加到pyinstaller ??
导入pyexcel
pyexcel.save_as(file_name = path_Xls,dest_file_name = path_Xls +'x') 我在我的系统上安装了pyexcel-xls,仍然出现此错误
答案 0 :(得分:0)
请将这些行附加到命令行:
--hidden-import pyexcel_xls --hidden-import pyexcel_xls.xls
--hidden-import pyexcel_xlsx --hidden-import pyexcel_xlsx.xlsx
请注意,此解决方案仅适用于pyexcel-io v0.3.x和pyexcel v0.4.x
pyexcel-io插件是延迟加载的,换句话说就是在使用它们时导入。这就是为什么pyinstaller无法通过简单地读取源代码而不知道其运行时行为将隐藏的导入打包到您的可执行文件中。
pyexcel-io v0.3.4上的the documentation以及pyinstaller
使用最新的pyexcel v0.5.0和pyexcel-io 0.4.0,我担心会有更多选项,因为all built-in plugins become lazy-loaded也是如此。以下是相应的文档:pyexcel上的pyinstaller和pyexcel-io