该程序运行时使用:
Python filename.py
但是当我使用“ pyinstaller ”创build它的可执行文件时
pyinstaller -F filename.py
可执行文件已成功创build,但脚本的执行失败并引发以下错误。
Traceback (most recent call last): File "site-packagespyexcel_iomanager.py",line 160,in create_reader File "site-packagespyexcel_iomanager.py",line 222,in _get_a_handler pyexcel_io.manager.NoSupportingPluginFound: No suitable library found for xls During handling of the above exception,another exception occurred: Traceback (most recent call last): File "script.py",line 8,in <module> File "site-packagespyexcel_xls__init__.py",line 29,in get_data File "site-packagespyexcel_ioio.py",line 36,line 126,in load_data File "site-packagespyexcel_iomanager.py",line 171,in create_reader pyexcel_io.manager.SupportingPluginAvailableButnotinstalled: Please install pyexcel-xls Failed to execute script script
相应的python脚本是:
从SFX删除“该程序可能没有正确安装”的警告
如何使用Powershell'invoke-expression'作为一个不同的用户运行一个可执行文件
系统path中的多个Python安装
我怎样才能打电话到.exe(带参数)与另一个.exe?
如何将.java或.jar文件转换为Linux可执行文件(没有.jar扩展名,这意味着它不是.jar文件)
from pyexcel_xls import save_data,get_data data = get_data("registered-market-makers-by-security.xls") save_data("file_to_consume.xls",data)
我怎样才能避免这个错误,并创build一个function的.exe文件?
我的客户有Windows环境。
我也试过py2exe,但它与我的机器中的Windows DLL有一些冲突。
Windows Lua可执行文件
可执行while循环:没有这样的文件或目录
在Ubuntu下编译Cx-Freeze
命令行工具将jar转换为可执行文件?
从可移植可执行文件中的.idata节打印隐式链接的dll的名称
问题
pyexcel-io使用一种方法来包含pyinstaller不支持的插件。 看到这个问题 。
这个问题的解决方法有几个方面。
需要更改pyexcel
我已经提交了一个更改请求 ,显示如何修改pyexcel以允许它使用pyinstaller。 基本上pyexcel-io需要知道如何找到冻结的模块。
如果pyexcel家伙拿起变更请求,那么这会让你走。 但是,如果他们不这样做,或者你很着急,那么将更改后的文件从更改请求复制到您的站点软件包目录中,如pyexcel_io/__init__.py将使pyexcel正常工作。
但是,pyinstaller也需要知道要包含什么。
pyinstaller也需要知道包含所需的模块。 所以在pyinstaller命令行上,你也需要做:
--hidden-import pyexcel_xls.xls
更新:
使用此修复程序更改请求已合并到 pyexcel的主分支中。
更新#2:
Fix已经发布到pypi 。
我经历了py2exe代替pyinstaller相同的问题。 在对我的代码进行了一些研究之后,我搜索了一些内容,结果发现问题是相似的,解决方案也是如此。 如果这可以帮助其他人,为了使用pyexcel库生成py2exe可执行文件,我在py2exe安装选项的includes section中添加了'pyexcel_xls.xls'和'pyexcel_xlsx.xlsx' 。 所以:
setup( name='Hello' version='0.1' description='Hello program' author='Me' options={ 'compressed': 1 'optimized': 1 'includes': ['pyexcel_xls.xls','pyexcel_xlsx.xlsx' ...] } console=['hello.py'] )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。