cx_Freeze 和 xlwings 作为带有斐波那契教程的独立版本时出错
Posted
技术标签:
【中文标题】cx_Freeze 和 xlwings 作为带有斐波那契教程的独立版本时出错【英文标题】:Error with cx_Freeze and xlwings as standalone version with fibonacci tutorial 【发布时间】:2015-01-10 00:18:40 【问题描述】:当我从 xlwings 编译示例斐波那契作为独立版本时,执行时出现以下错误。
我尝试在 cx_Freeze 设置脚本中使用 include_files
选项包含文件,但我不断收到错误消息。
有人知道如何解决这个问题吗?
Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
File "ioforge.py", line 10, in <module>
File "C:\Anaconda\lib\site-packages\xlwings-0.3.0-py2.7.egg\xlwings\__init__.py", line 18, in <module>
File "C:\Anaconda\lib\site-packages\xlwings-0.3.0-py2.7.egg\xlwings\_xlwindows.py", line 9, in <module>
WindowsError: [Error 123] Syntaxe du nom de fichier, de répertoire ou de volume incorrecte: ''
问题所在的行如下:
# Hack to find pythoncom.dll - needed for some distribution/setups
# E.g. if python is started with the full path outside of the python path, then it almost certainly fails
cwd = os.getcwd()
os.chdir(sys.exec_prefix)
import win32api
os.chdir(cwd)
【问题讨论】:
【参考方案1】:它抱怨它没有找到您的目录。尝试完全卸载/重新安装 xlwings(如有必要,请检查 Anaconda\Lib\site-packages
文件夹。xlwings-0.3.0-py2.7.egg
通常称为 xlwings-0.3.0-py2.7.egg-info
,所以不确定这是否是它找不到它的原因。
【讨论】:
我重新安装了 xlwings,但问题仍然相同,尽管链接现在是“C:\Anaconda\lib\site-packages\xlwings_xlwindows.py” 失败的粘贴行实际上是有道理的。我在 GitHub 上打开了一个问题:github.com/ZoomerAnalytics/xlwings/issues/133 解决方法是注释 _xlwindows.py 的第 9 行并复制 build/exe-2.7 中的 Lib/site-packages 内的所有文件夹。 该问题已得到修复,应该会在下一个版本 (v0.3.3) 中提供 - 您不必手动从 site-packages 文件夹复制文件。以上是关于cx_Freeze 和 xlwings 作为带有斐波那契教程的独立版本时出错的主要内容,如果未能解决你的问题,请参考以下文章
Cx_freeze 不适用于带有 Python 3.6.2 的 Win 10
带有 cx_freeze 的 python 3.2 tkinter 图标
通过 python 中的 xlwings 调整 Excel 中的数字格式