python INFO: Can't locate Tcl/Tk libs and/or headers

今天在学python的时候使用Tkinter包的时候出现以下问题:

 File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>

    import _tkinter # If this fails your Python may not be configured for Tk

ImportError: No module named _tkinter

然后就给python重新安装了一遍 结果发现:

running install
running build
running build_ext
INFO: Can't locate Tcl/Tk libs and/or headers

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _curses            _curses_panel   
_sqlite3           _tkinter           bsddb185        
dbm                dl                 gdbm            
imageop            sunaudiodev                        
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

是少了Tcl/Tk,于是就直接 apt-get install tcl     apt-get install tk 安装了tcl和tk库 ,然后又执行  python setup.py install  安装  python:

结果还是不行,还是提示Can't locate Tcl/Tk libs and/or headers 郁闷呀;

然后就又百度了下 找到一篇博客:http://www.linuxdiyf.com/viewarticle.php?id=55587 讲的比较详细:

原来setup.py 安装的时候要寻找tcl.h和tk.h两个头文件,但是我用find / -name tcl.h在整个linux范围内都没有找到这个头文件。

再仔细看python.org/topics/tkinter/给出的指导:

You may have to install Tcl and Tk(when using RPM, install the –devel RPM as well) and /or edit the setup.py script to point to the right locations where Tcl/Tk is installed. If you install Tcl/Tk in the default locations, simply rerunning “make” should build the _tkinter extension.

所以我要安装tcl-devel(我的系统是debian安装的是tcl-dev)和tk-devel(我的系统是debian安装的是tk-dev)才能有头文件,安装tcl/tk,只是把静态或者动态库考到lib目录下,只有tcl-devel(tc-dev),tk-devel(tk-dev)才会把头文件放到/usr/include里边,而_tkinter要编译必须找到这些头文件。

然后我就执行了 

apt-get install tcl-dev    

apt-get install tk-dev 

安装完这两个包后问题就解决了。。。

原文地址:https://www.cnblogs.com/phpfarmer/p/4371812.html