pyodbc 的 cx_freeze 错误

Posted

技术标签:

【中文标题】pyodbc 的 cx_freeze 错误【英文标题】:cx_freeze error with pyodbc 【发布时间】:2011-04-12 17:03:07 【问题描述】:

如果你有一个简单的程序名 pyodbcTest.py

import pyodbc
print "pass"

然后使用 cx_freeze 编译它

cxfreeze --targe-dir=cxTest pyodbcTest.py

然后运行该程序会引发以下错误。

C:\temp\pythonWork\cxTest>pyodbcTest.exe                                                         
Traceback (most recent call last):                                                               
    File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>     
        exec code in m.__dict__                                                                     
    File "pyodbcTest.py", line 1, in <module>                                           
 RuntimeError: Unable to import decimal       

有什么想法吗?

【问题讨论】:

【参考方案1】:

我不得不添加选项 --include-module decimal 来解决问题。不知道为什么它在冻结过程中无法自己找到那个,但它现在可以工作了

【讨论】:

你能准确地说出你在哪里添加了“--include-module decimal”吗?是在构建时使用命令行还是在构建脚本中?你能复制/粘贴你放的东西吗?谢谢! @advocate 这个回复有点晚了,但如果其他人偶然发现这个问题,在我的 setup.py 文件中添加类似options = "build_exe": "packages": ["pyodbc", "decimal"]setup() 对我有用。跨度>

以上是关于pyodbc 的 cx_freeze 错误的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 上的 pyodbc - 如何进行插入并取回行 ID?

如何在 OpenOffice 中使用 PyOD?

PyOD主要算法(KNN、IForest 和 MCD)的原理及使用

Pyodbc 连接错误

更新到 pyodbc 4 导致“分段错误”

Python cx_Freeze 错误“没有名为 'cx_Freeze.util' 的模块”