2013-11-22 91 views
1

我試圖在python中重新使用我的tcl代碼,但是Expect包沒有導入。tcl期望沒有在python的Tkinter模塊中找到

>>> from Tkinter import * 
>>> tcl = Tcl() 
>>> tcl.eval('puts $tcl_version') 
8.5 
'' 
>>> tcl.eval('package require expect') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
_tkinter.TclError: can't find package expect 

請解釋一下如何讓它工作。我的機器安裝了tcl,Expect工作正常。

+0

我敢打賭,這是Python試圖使用自己的內置版本,而不是明智地堅持系統構建。不知道如何修復... –

+0

是的,我想但不知道它會如何工作?請幫忙 !!! – user3021191

回答

0

期待應該大寫:

tcl.eval('package require Expect') 

是,TCL是區分大小寫的語言。

更新

我已驗證我的建議對我的系統(Linux和Mac)有效。既然你聲稱它沒有在您的系統,讓我們做如下測試:

啓動TCL殼:

tclsh 

看看你能不能用Expect軟件包:

package require Expect 

如果你看到錯誤,這意味着你沒有安裝Expect軟件包,或者路徑錯誤。如果你不這樣做,那麼當你啓動Python shell時,你的路徑會被改變。

無論哪種情況,我都沒有足夠的信息來幫助您。如果您仍然需要幫助,請發佈更多信息,例如您的操作系統以及您可以想到的其他詳細信息。

更新2

在Windows 7的機器,我安裝了ActivePython的2.7.x和觀察你的行爲,未發現即期望包。這發生在32位和64位版本的ActivePython 2.7.x上。接下來,我在同一臺機器上安裝了32位Cygwin,並選擇包含Python和Expect。這一次,一切正常。

在這一點上,你有兩個選擇:

  1. 使用Cygwin
  2. 如果使用64位的Python,你可能不能夠訪問想到,看到這個article
  3. 如果您使用的是32位Python,則同一篇文章提出了一種通過teacup命令安裝Expect的方法。
+0

tcl.eval('包需要期待')不,它不是工作 – user3021191

+0

請看我的更新。 –

+0

嗨海,在tcl它正在工作,但我的問題。但我需要>>> Tkinter import * >>> tcl = Tcl() >>> tcl.eval('puts $ tcl_version') 8.5 '' >>> tcl.eval('package require ')這應該在Python中工作。 - 我的操作系統是XP,我使用python 2.7.XX - 請幫助 – user3021191