[問題] CentOS下python runtimeError

看板Python作者 (陳Eason超棒)時間9年前 (2016/08/30 12:33), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串1/1
昨天搞了一整天都沒法解決 我和朋友寫的一個程式,是在Fedora 23上面開發的,使用起來也都沒問題 因為要相容在CentOS5上面,真的搞了很久,一堆dependency要處理 現在終於編譯完,剩下runtime出現問題 RuntimeError: tcl.h version (8.5) doesn't match libtcl.a version (8.4) (為了讓CentOS5的Tcl環境和Fedora 23一樣,我就裝了Tcl 8.5.19 並且把所有 tclsh / libtcl.so link到8.5的檔案) 我用find指令找了整個硬碟,都沒有看到libtcl.a這個檔 後來才發現在python2.7/lib-tk/Tkinter.py裡面libtcl.a是寫死的 並不一定有這個檔案,但他主要的意思是系統的tcl和TkInter版本不同 程式碼裡面是這樣檢查的 tcl_version = str(self.tk.getvar('tcl_version')) if tcl_version != tkinter.TCL_VERSION: raise RuntimeError, \ "tcl.h version (%s) doesn't match libtcl.a version (%s)" \ % (_tkinter.TCL_VERSION, tcl_version) 因此由程式碼和吐到shell的error msg比對可看出 tkinter 的版本是 8.5 self.tk.getvar拿到的版本是 8.4 想要請有經驗的版友幫我解答一下,那個8.4是從系統哪個檔案讀到的呢? 因為我昨天編完Tcl 8.5後很確定有把/usr/lib /usr/bin /usr/local/lib /usr/local/bin 有關於tcl的檔案都link到8.5了,而且python 也有重新編譯過 到底是哪裡出了問題 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 96.55.76.82 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1472531594.A.C79.html

08/31 05:55, , 1F
指定TCLLIBRARY環境變數到你的TCL路徑看看
08/31 05:55, 1F

08/31 05:59, , 2F
應該是TCL_LIBRARY
08/31 05:59, 2F
文章代碼(AID): #1NnGoAnv (Python)
文章代碼(AID): #1NnGoAnv (Python)