title: running TCL through python by subprocess, but not giving any output
body: <p>I am trying to run my tcl script through python subprocess as follow:</p>
  
  <pre><code>import subprocess
  &gt;&gt;&gt; subprocess.Popen(["tclsh", "tcltest.tcl"])
  &lt;subprocess.Popen object at 0x0000000001DD4DD8&gt;
  &gt;&gt;&gt; subprocess.Popen(["tclsh", "tcltest.tcl"], shell=True )
  &lt;subprocess.Popen object at 0x0000000002B34550&gt;
  </code></pre>
  
  <p>I don't know if it is working or not, since I don't see any anything from it!
  my tcl script also has some packages from my company that causes errors when I use Tkinter, Tk, and  eval,</p>
  
  <pre><code>import Tkinter
  import socket
  
  def TCLRun():
   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   s.connect(('127.0.0.1', 5006))
   root = Tkinter.Tk()
  ## root.tk.eval('package require Azimuth-Sdk')
   tcl_script ="""
  ##package require Company-Sdk
  ## set players [ace_azplayer_list_players]
  set players 2
  puts $players 
  ##  if { $players != "" } {         
  ##  foreach player $players {   
  ##      set cmd ace_azplayer_remove_player
  ##      if { [catch { [ $cmd $player ] } err] } {   
  ##          puts " $cmd $player - $err" 
  ##          sleep 1 
  ##          }           
  ##      } 
  ##  } """
   # call the Tkinter tcl interpreter
   root.tk.call('eval', tcl_script)
   root.mainloop()
  </code></pre>
  
  <p>gives me this error</p>
  
  <pre><code>import TCLCall
  &gt;&gt;&gt; TCLCall.TCLRun()
  
  Traceback (most recent call last):
    File "&lt;pyshell#2&gt;", line 1, in &lt;module&gt;
      TCLCall.TCLRun()
    File "C:\Users\XXX\Desktop\PKT\TCLCall.py", line 24, in TCLRun
      root.tk.call('eval', tcl_script)
  TclError: can not find channel named "stdout"
  </code></pre>
  
  <p>that's why I switched to subprocess. at least it doesn't give me error! </p>
  
  <p>any idea how to run my tcl script with internal required package through python?!</p>
  
  <p>Thanks</p>