2011-12-12 152 views
1

我想在C++代碼中使用python,但出現錯誤,它是最簡單的「hello word」程序。ImportError:No module named _tkinter

可以導入PIL.Image,但對於Tkinter,它會輸出「ImportError:No module named _tkinter」。 我打印了sys.path,但沒有線索。

以下快照顯示您的詳細資料:http://i.minus.com/iWoCUlidmq5M3.jpg

ENV: Visual Studio 2010中 的Python 2.7.2,32位。

我是新用戶,所以無法上傳圖片。 。:(

這個問題花了我好幾天,希望有人可以給我一些建議,非常感謝

這裏是另一個infomations:

源代碼:

int _tmain(int argc, _TCHAR* argv[]) 
{ 

    Py_Initialize(); 
    if(!Py_IsInitialized()) 
     cout<< "init failed"<<endl; 
    PyRun_SimpleString ("import sys, struct, zlib "); 
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\DLLs')"); 
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\libs')"); 
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\Lib\\lib-tk')"); 
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\Lib\\idlelib')"); 
    PyRun_SimpleString ("sys.path.append('C:\\Python27\\lib\\plat-win')"); 
// PyRun_SimpleString ("print sys.path "); 
    PyRun_SimpleString ("import PIL.Image, StringIO"); 

    PyRun_SimpleString ("import Tkinter"); 
} 

錯誤信息:

Traceback (most recent call last): 

    File "<string>", line 1, in <module> 
    File "C:\Python27\Lib\lib-tk\Tkinter.py", line 38, in <module> 
     import FixTk 
    File "C:\Python27\Lib\lib-tk\FixTk.py", line 65, in <module> 
     import _tkinter 
ImportError: No module named _tkinter 

回答

0

我已經解決了這個問題,因爲我使用了調試python_d.dll,它會找到debug版本的pyd文件,所以失敗了。

然後我將python.dll更改爲python_d.dll,並刪除pyconfig中的調試proprocesser,它工作。

0

您的exe文件可能無法訪問DLLs(或PYDs t帽子是一樣的)在C:\ Python27 \ DLL中。您應該將此文件夾添加到您的Windows路徑。看到https://stackoverflow.com/a/428217/117092

+0

hi @luc,感謝您的回覆,我已經添加了_tkinter.pyd放入窗口系統路徑的路徑「C:\ Python27 \ DLLs」,但並沒有費力。 – yhl10000