[Tkinter-discuss] Different fonts in 3.3?

Ned Deily nad at acm.org
Fri May 16 10:09:53 CEST 2014


In article 
<CAFBvUasAOjMr-DcqZY9R=Qdoon6FyK-Qu8QPEKzyMnQiA80MqA at mail.gmail.com>,
 Josef Eschgfaeller <esg at unife.it> wrote:
> Ned Deily wrote:
> > Ah, sorry, I overlooked the "8.5.15" above.
> > That seems to indicate that you've already installed
> > ActiveTcl 8.5.15.  The fact that you've installed
> > ActiveTcl 8.6.x, which changed the Current link
> > in the Tcl and Tk frameworks, has no effect on
> > which version a particular Python dynamically links
> > to at run time.  The Current link affects building
> > _tkinter, not running it. 
> This is not clear to me. I had previously installed
> both Tcl 8.5 and 8.6. Yesterday I installed Python 3.4.
> Why did it not choose Tcl 8.6?

Because Python's _tkinter C extension is built and linked with a 
particular compatibility version of Tk, i.e, the major version of Tcl 
and Tk are determined when Python itself is built, not when Python is 
installed or run.  Note the absolute path to the Tcl and Tk framework 
shared libraries: they both have explicit "8.5" values and not 
"Current". 

$ otool -L $(/usr/local/bin/python3.4 -c 'import _tkinter; 
print(_tkinter.__file__)')
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynlo
ad/_tkinter.so:
   /Library/Frameworks/Tcl.framework/Versions/8.5/Tcl (compatibility 
version 8.5.0, current version 8.5.15)
   /Library/Frameworks/Tk.framework/Versions/8.5/Tk (compatibility 
version 8.5.0, current version 8.5.15)
   /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.2.0)
 
> Not a Tkinter question: My Python Current link
> points still to 2.7. Has this any meaning?

As far as I know, the only practical effect the value of Current has is 
when you compile or link a C program which uses "-framework Python".  
The various compiler and linker components that support '-framework" 
will use the Current link in the selected framework.  When the program 
is linked, the resolved path to the framework shared library is embedded 
in the linker output file (executable, bundle, etc) as seen above with 
otool -L.

-- 
 Ned Deily,
 nad at acm.org



More information about the Tkinter-discuss mailing list