2011-04-12 85 views
5

,如果你有一个简单的程序名称pyodbcTest.py与pyodbc cx_freeze错误

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  

任何想法?

回答

6

我不得不添加--include-module decimal来解决这个问题。不知道为什么它不能在冻结过程中自己找到它,但它现在的工作

+0

你能准确地说出你添加的“--include-module decimal”吗?是建立在构建脚本内部还是在命令行中?你能复制/粘贴你准确的东西吗?谢谢! – anon58192932 2012-04-04 01:07:33

+2

@advocate这个回应有点晚,但如果有人绊倒这个问题,添加一些像'options = {“build_exe”:{“packages”:[“pyodbc”,“decimal”]}}'我的setup.py文件中的'setup()'为我工作。 – 2014-07-16 14:56:41