2011-04-12 96 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