Using Tcl extensions with Python?

Guilherme Polo ggpolo at
Fri Jul 18 00:18:29 CEST 2008

On Thu, Jul 17, 2008 at 6:48 PM, C Martin <g.threepwood at> wrote:
> How do you setup a Tcl extension to be accessible through Python? I
> understand that I'll have to use native Tcl calls to use it (
> etc), but I can't figure out where to put the files or how to
> initialize them so I can call them.
> The package I would like to use is TkPNG:

You can put them anywhere, but if it is on tcl's auto_path then you
just need a call to "package require tkpng". To check what directories
are part of auto_path, start tclsh and enter "set auto_path".

Follows a sample code to demonstrate how to load the required package:

import Tkinter

root = Tkinter.Tk()
tkpnglib = "/usr/lib/tkpng0.9""""
    global auto_path
    lappend auto_path {%s}""" % tkpnglib)"package require tkpng")

If tkpng were installed in some directory belonging to auto_path, then
you wouldn't need that call to tk.eval.

And.. for tkpng specifically, you won't need to use it, you
just need to create your images using Tkinter.PhotoImage with a "png"

> Thanks.
> --

-- Guilherme H. Polo Goncalves

More information about the Python-list mailing list