Skip to content

Use run-time loading of Tcl / Tk? #1928

Description

@matthew-brett

Over at Matplotlib, we switched to detecting Tcl / Tk at run time, using the symbols loaded by Python Tkinter - matplotlib/matplotlib#6442 .

This has the advantage that Matplotlib is always using the same Tcl / Tk lib as Python, avoiding run-time crashes when Matplotlib is compiled with a different version of Tcl / Tk (package upgrades, building wheels on another system). We also abstracted out the very small part of the Tcl / Tk headers that we needed to compile, meaning that we can compile against Tcl / Tk without an installation of Tcl / Tk at build time.

For matplotlib, we tested this as working on Linux, OSX and Windows (see comments on that PR). Do you think this would also work for Pillow? At a superficial look, you're using very similar parts of Tcl / Tk...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions