ImportError:没有名为 _tkinter 的模块

Posted

技术标签:

【中文标题】ImportError:没有名为 _tkinter 的模块【英文标题】:ImportError: No module named _tkinter 【发布时间】:2011-12-12 05:50:50 【问题描述】:

我想在c++代码中使用python,但是出错了,这是最简单的“hello word”程序。

导入PIL.Image是可以的,但是对于Tkinter,会输出“ImportError: No module named _tkinter”。 我打印了 sys.path,但没有任何线索。

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

环境: 视觉工作室 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:\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

【问题讨论】:

【参考方案1】:

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

【讨论】:

嗨@luc,感谢您的回复,我已将_tkinter.pyd 放置在Windows 系统路径中的路径“C:\Python27\DLLs”添加到Windows 的系统路径中,但并不费力.【参考方案2】:

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

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

【讨论】:

以上是关于ImportError:没有名为 _tkinter 的模块的主要内容,如果未能解决你的问题,请参考以下文章

markdown ImportError:没有名为'_tkinter'的模块,请安装python3-tk包

ImportError:pyInstaller 后没有名为“tkinter”的模块

ImportError:没有名为 _imagingtk 的模块

使用 Pmw 时出现“ImportError:没有名为 tkinter 的模块”

matplotlib.pyplot 在 python 2.7 上给出错误“ImportError:没有名为 Tkinter 的模块”

导入错误:没有名为“Tkinter”的模块 [重复]