[Scribus] Required Versions of tkinter and python-imaging?
Craig Ringer
craig
Thu Nov 17 18:49:53 CET 2005
Taj Morton wrote:
>On 11/17/05, Craig Ringer <craig at postnewspapers.com.au> wrote:
>
>
>>Both tools are used by the supplied Python scripts. The Python interface
>>its self does not require them, nor does the core application.
>>
>>
>Are these dependencies at compile-time or at runtime? E.g., if Python
>isn't available at compile time, will the binary use Python on a
>computer with Python, or will I need to recompile Scribus? What about
>TKinter or python-imaging?
>
>
The dependency on Python is at compile time but only applies to a plugin
not the main app; the requirement for Tkinter and Python-imaging is at
runtime only. If you've built Scribus on a system with Python, then run
it on a system without, Scribus will gracefully ignore the Python
support (it'll whine on the console when it fails to load the plugin,
but that's it) and go on with life. The only user-visible difference
will be a missing "Script" menu and Python preferences panel.
>>Are you planning on shipping your own copy of Python?
>>
>>
>I wasn't planning on it...would that be a good idea, though?
>
If you can possibly avoid it, you probably should. If you bundle your
own, the user won't be able to use third party Python modules installed
on their system, such as PyQt, and you'd have to bundle Tkinter (and
possibly Tcl and Tk). Yuck. Huge, and ugly.
The problem with relying on the system Python is that Python's soname is
incremented with each minor release. The language is very backwards
compatible, as is the library API, but the library ABI is not. Given
this, a user with Python 2.4 will be unable to use the Python embedding
support if the Python plugin was compiled against Python 2.3 . The only
way I can think of to work around this is to build _two_ copies of the
Python plugin, one against 2.3 and one against 2.4 . This would require
some serious autohell-fu or manual build hacking, require you to
parallel-install two versions of Python, and still wouldn't help users
with 2.2 or 2.5 when it comes out.
My suggestion would be to build against 2.4 and document the fact that
Python support in Scribus will be unavailable without a local install of
Python . Similarly, I'd tell the user that they must install
python-imaging and Tkinter to get full functionality out of the bundled
scripts.
--
Craig Ringer
More information about the scribus
mailing list