国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術知識庫 >  云服務器 >  服務器教程 >  解決centos中"ImportError: No module named

解決centos中"ImportError: No module named

2017-01-02 22:06:00 12126

用Metasploit的時候出現(xiàn)了"ImportError: No module named _tkinter"的錯誤,_tkinter是被Tkinter模塊引用的,因為對Tkinter不太熟悉所以也不知道為什么會有這個錯誤。 
我本身是在centos中,而且系統(tǒng)中存在不同的賬號分別使用了不同版本的Python,所以我先在root賬號下試了一下import Tkinter是OK的,接著用命令import _tkinter;_tkinter;打印了一下_tkinter的文件路徑,發(fā)現(xiàn)是在”/usr/lib64/python2.7/lib-dynload/”目錄下面,而且是so文件。 
首先我想到直接把root下面的_tkinter.so直接拷貝到xxuser賬號的Python lib-dynload中,但是我發(fā)現(xiàn)會有undefined symbol: PyUnicodeUCS4_AsUTF8String的錯誤,也就是因為root、xxuser兩者之間的Python編譯參數(shù)不同導致的,看來這種方式是不可行了。 
接著網(wǎng)上找了一圈沒有發(fā)現(xiàn)能直接安裝_tkinter的命令,后來我想到這個_tkinter.so是不是在編譯Python的時候生成的呢?所以我下載了一個跟xxuser當前Python版本一致的Python源碼,編譯的時候選擇--enable-unicode=ucs2,重新./configure、make以后在build/lib.linux-x86_64-2.7目錄下面確實生成了_tkinter.so,然后把_tkinter.so拷貝到xxuser賬號的Python lib-dynload中,運行import Tkinter就OK了。

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: