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 的 Pyserial 运行时错误

带有 cx_freeze 的 python 3.2 tkinter 图标

通过 python 中的 xlwings 调整 Excel 中的数字格式

cx_Freeze- ImportError:无法导入名称设置

cx_freeze 忽略自定义变量模块