没有名为_tkinter的模块

ImportError: No module named _tkinter

本文关键字:tkinter 模块      更新时间:2023-10-16

我想在c++代码中使用python,但是它得到了一个错误,这是最简单的"hello word"程序。

可以导入PIL。但是对于Tkinter,它将输出"importterror: No module named _tkinter"。我必须打印系统。路径,但没有线索。

下面的快照显示了详细信息:http://i.minus.com/iWoCUlidmq5M3.jpg

Env:Visual Studio 2010。Python 2.7.2, 32位。

我是新用户,所以我不能上传图片。(

这个问题花了我好几天,希望有人能给我一些建议,非常感谢。

这里是另一个信息:

源代码:

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:Python27Liblib-tkTkinter.py", line 38, in <module>
        import FixTk
    File "C:Python27Liblib-tkFixTk.py", line 65, in <module>
        import _tkinter
ImportError: No module named _tkinter

您的exe可能无法访问C:Python27 dll中的dll(或相同的pyd)。您应该将此文件夹添加到Windows路径中。见https://stackoverflow.com/a/428217/117092

我已经解决了这个问题,因为我使用了debug python_d.dll,它会找到debug版本的pyd文件,所以它失败了。

然后我将python.dll更改为python_d.dll,并删除pyconfig中的调试proprocessor,它工作了。