- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務機構(gòu):新網(wǎng)數(shù)碼
用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了。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP