Python Py2Exe openpyxl导入程序
我有一个依赖于openpyxl的python应用程序,在通过python解释器运行它时工作良好。但是,在使用py2exe创建exe时。已生成exe,但当我单击它时,出现错误,并生成以下日志:Python Py2Exe openpyxl导入程序,python,error-handling,executable,py2exe,openpyxl,Python,Error Handling,Executable,Py2exe,Openpyxl,我有一个依赖于openpyxl的python应用程序,在通过python解释器运行它时工作良好。但是,在使用py2exe创建exe时。已生成exe,但当我单击它时,出现错误,并生成以下日志: Traceback (most recent call last): File "excelTest.py", line 1, in <module> File "openpyxl\__init__.pyc", line 30, in <module> File "openpyxl\
Traceback (most recent call last):
File "excelTest.py", line 1, in <module>
File "openpyxl\__init__.pyc", line 30, in <module>
File "openpyxl\workbook\__init__.pyc", line 5, in <module>
File "openpyxl\workbook\workbook.pyc", line 16, in <module>
File "openpyxl\writer\write_only.pyc", line 23, in <module>
File "openpyxl\writer\excel.pyc", line 36, in <module>
File "openpyxl\packaging\extended.pyc", line 4, in <module>
ImportError: cannot import name __version__
我在使用OpenPYXL2.4.3时遇到了同样的问题。我发现要创建一个.exe文件,您必须恢复到openpyxl的旧版本。为此:
我也有同样的问题 首先,我尝试了建议的降级到2.3的解决方案,但我使用的只读函数不起作用 然后,阅读一些openpyxl论坛,我发现问题在于2.4使用了一个Jason文件进行配置。但我无法指示py2exe包含它并使用它
最后,我使用了pyInstaller,它在第一次尝试时就工作了。问题在于uuu版本uuuu是从.constants.json文件读取的,而py2exe没有使用它。为了解决这个问题,我编辑了库文件openpyxl\packaging\extended.py
#from openpyxl import __version__
__version__ = "2.4.5"
我对导入进行了注释,并使用openpyxl库中的.constants.json文件中的版本文本创建了一个变量_version__。再次使用py2exe创建可执行文件
对我来说效果很好。在openpyxl\packaging\extended.py中,将其添加到第5行:
__version__ = str(__version__)
openpyxl不支持py2exe@CharlieClark在另一台机器上,我用py2exe和openpyxl生成了一个可执行文件。怎么可能?也为我工作过。是的,就是这样。
__version__ = str(__version__)