Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tix not included in windows distribution #35403

Closed
anonymous mannequin opened this issue Oct 25, 2001 · 31 comments
Closed

Tix not included in windows distribution #35403

anonymous mannequin opened this issue Oct 25, 2001 · 31 comments
Assignees

Comments

@anonymous
Copy link
Mannequin

anonymous mannequin commented Oct 25, 2001

BPO 474836
Nosy @gvanrossum, @tim-one, @loewis, @theller, @mjpieters

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = 'https://github.com/loewis'
closed_at = <Date 2004-06-08.08:32:26.000>
created_at = <Date 2001-10-25.11:22:17.000>
labels = ['expert-tkinter']
title = 'Tix not included in windows distribution'
updated_at = <Date 2004-06-08.08:32:26.000>
user = 'https://bugs.python.org/anonymous'

bugs.python.org fields:

activity = <Date 2004-06-08.08:32:26.000>
actor = 'loewis'
assignee = 'loewis'
closed = True
closed_date = None
closer = None
components = ['Tkinter']
creation = <Date 2001-10-25.11:22:17.000>
creator = 'anonymous'
dependencies = []
files = []
hgrepos = []
issue_num = 474836
keywords = []
message_count = 31.0
messages = ['7167', '7168', '7169', '7170', '7171', '7172', '7173', '7174', '7175', '7176', '7177', '7178', '7179', '7180', '7181', '7182', '7183', '7184', '7185', '7186', '7187', '7188', '7189', '7190', '7191', '7192', '7193', '7194', '7195', '7196', '7197']
nosy_count = 9.0
nosy_names = ['gvanrossum', 'tim.peters', 'loewis', 'theller', 'digulla', 'idiscovery', 'mjpieters', 'monos', 'jimjjewett']
pr_nums = []
priority = 'normal'
resolution = 'fixed'
stage = None
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue474836'
versions = ['Python 2.3']

@nobody
Copy link
Mannequin

nobody mannequin commented Oct 25, 2001

Although there is a Tix.py available, there is no Tix
support in the precomiled
Python-distribution for windows. So

import Tix

works fine, but

root = Tix.Tk()

results in

TclError: package not found.

It is possible to circumvent this problem by installing
a regular Tcl/Tk distribution (e.g. in
c:\programme\tcl) and installing Tix in the regular
Tcl-path (i.e. tcl\lib).

Mathias

@anonymous anonymous mannequin closed this as completed Oct 25, 2001
@anonymous anonymous mannequin assigned loewis Oct 25, 2001
@anonymous anonymous mannequin added the topic-tkinter label Oct 25, 2001
@anonymous anonymous mannequin closed this as completed Oct 25, 2001
@anonymous anonymous mannequin assigned loewis Oct 25, 2001
@anonymous anonymous mannequin added the topic-tkinter label Oct 25, 2001
@tim-one
Copy link
Member

tim-one commented Oct 25, 2001

Logged In: YES
user_id=31435

I don't know anything about Tix, so if somebody wants this
in the Windows installer, they're going to have to explain
exactly (by which I mean exactly <0.5 wink>) what's needed.

@monos
Copy link
Mannequin

monos mannequin commented Oct 29, 2001

Logged In: YES
user_id=361926

As mentioned in the mail above (by me, Mathias), Tix is a
package belonging to Tcl/Tk (to be found on sourceforge:
tix.sourceforge.net, or via the Python home page - tkinter
link).

Everything needed can be found there, just read about it
(and dont forget about the winking, eyes might be getting
dry)

Mathias

@loewis
Copy link
Mannequin

loewis mannequin commented Feb 25, 2002

Logged In: YES
user_id=21627

Building Tix from sources is non-trivial, and I could not
find any recent Windows binary distribution (based on Tix
8.1). So I'll attach a build of Tix 8.1.3 for Tcl/Tk 8.3,
as a drop-in into the Python binary distribution.

Compared to the original distribution, only tix8.1
\pkgIndex.tcl required tweaking, to tell it that
tix8183.dll can be found in the DLLs subdirectory.

Also, unless TIX_LIBRARY is set, the Tix tcl files *must*
live in tcl\tix8.1, since tix8183.dll will look in
TCL_LIBRARY\..\tix<TIX_VERSION> (among other locations).

If a major Tcl release happens before Python 2.3 is
released (and it is then still desirable to distribute
Python with Tix), these binaries need to be regenerated.

Would these instructions (unpack zip file into
distribution tree) be precise enough to allow
incorporation into the windows installer?

@loewis
Copy link
Mannequin

loewis mannequin commented Feb 25, 2002

Logged In: YES
user_id=21627

The zip file is slightly too large for SF, so it is now at

http://www.informatik.hu-
berlin.de/~loewis/python/tix813win.zip

@monos
Copy link
Mannequin

monos mannequin commented Mar 7, 2002

Logged In: YES
user_id=361926

Thanks.

Mathias

@tim-one
Copy link
Member

tim-one commented Mar 10, 2002

Logged In: YES
user_id=31435

Guido, do you want me to spend time on this?

@gvanrossum
Copy link
Member

Logged In: YES
user_id=6380

Yes, for 2.3.

@idiscovery
Copy link
Mannequin

idiscovery mannequin commented Nov 3, 2002

Logged In: YES
user_id=33229

I would really like to see Tix in 2.3 and will be glad to help.
AFAIK there are no major issues with tix-8.1.3 and Python 2.x
and it should be a simple drop in of a cannonically compiled Tix.

If there are any issues that need dealing with at Tix's end, I'll be
glad to put out a new minor release of Tix to address them.

On Python's end I've suggested a fix for http://python.org/sf/564729

FYI, please also see my comments for bug 632323.

1 similar comment
@idiscovery
Copy link
Mannequin

idiscovery mannequin commented Nov 3, 2002

Logged In: YES
user_id=33229

I would really like to see Tix in 2.3 and will be glad to help.
AFAIK there are no major issues with tix-8.1.3 and Python 2.x
and it should be a simple drop in of a cannonically compiled Tix.

If there are any issues that need dealing with at Tix's end, I'll be
glad to put out a new minor release of Tix to address them.

On Python's end I've suggested a fix for http://python.org/sf/564729

FYI, please also see my comments for bug 632323.

@gvanrossum
Copy link
Member

Logged In: YES
user_id=6380

I support this. Tim, I know you're not a big Tk user (to say
the least). I'll offer to help in person.

@tim-one
Copy link
Member

tim-one commented Nov 18, 2002

Logged In: YES
user_id=31435

Does Tix 8.1.3 play with Tcl/Tk 8.4.1? The 2.3. Windows
distro is set up to include the latter now. The
win\common.mak file from Tix 8.1.3 doesn't have a section
for Tcl/Tk 8.4, though.

There appear to be several reasons Tix won't compile on
my box anyway without fiddling the Tix makefiles (e.g., my
VC doesn't live in \DevStudio), so before spending more
time on that I'd like to know whether it's doomed.

@idiscovery
Copy link
Mannequin

idiscovery mannequin commented Nov 19, 2002

Logged In: YES
user_id=33229

Look on http://tix.sourceforge.net/download.shtml for
Tix 8.1.4 RC3. It works with Tk 8.4.1 and passes the test suite,
but there are still issues with Tk 8.4 and it has not been
widely tested with yet with 8.4.1, so we still recommend 8.3.5.
(Tcl major releases often aren't stable until patch .3 or so.)

If you have any problems let me know directly by email
and I'll try and help.

@loewis
Copy link
Mannequin

loewis mannequin commented Nov 19, 2002

Logged In: YES
user_id=21627

I think the recommendation cannot apply to Python; I'm very
much in favour of releasing Python 2.3 with Tk 8.4.x.

So the question then is whether Python 2.3 should include
Tix 8.1.4 or no Tix at all, and at what time Tix 8.1.4 can
be expected.

@tim-one
Copy link
Member

tim-one commented Nov 20, 2002

Logged In: YES
user_id=31435

Parents shouldn't disagree in front of their children <wink>.

Not all the Tcl or Tk tests (their tests, not ours) passed
when I built 8.4.1, but I couldn't (and can't) make time to
dig into that, and all the Python stuff I tried worked fine. So
I don't fear 8.4, and am inclined to accept Martin's
assurance that 8.4 is best for Python.

We intend to put out the first 2.3 Python alpha by the end
of the year, and my bet is it won't be a minute before that.
If Tix 8.1.4 is at RC3 now, I'd *guess* you'll have a final
release out well before then. Yes? No?

@idiscovery
Copy link
Mannequin

idiscovery mannequin commented Dec 11, 2002

Logged In: YES
user_id=33229

My you're courageous - going with a version of Tcl that doesn't
even pass its own tests :-) Been there, seen it, done it ....

8.1.4 will be out this week, which compiles with 8.4 but I don't
expect it to "support" 8.4 for a while yet (they added more problems
in 8.4.1). 8.3.5 is definitely "supported".

Check back with me before 2.3 goes into beta and I'll do
another minor release if necessary. Maybe Tk will test clean then.

@loewis
Copy link
Mannequin

loewis mannequin commented Apr 26, 2003

Logged In: YES
user_id=21627

I still think Python should include Tix. Here are some
instructions on how to make Tix 8.1.4 work:

  1. Unpack as a sibling of tcl8.4.1 and tk8.4.1
  2. Edit win\common.mk, to set the following variables
    TCL_VER=8.4
    INSTALLDIR=<directory to pick up installation from later>
    MKDIR=mkdir
  3. Edit win\makefile.vc, to set the following variables
    TOOLS32=<directory of cl>
    TOOLS32_rc=<directory of rc.exe>
  4. Edit win\tk\pkgindex.tcl, to replace
    lappend dirs ../../Dlls
    with
    lappend dirs [file join [file dirname [info nameofexe]] Dlls]
  5. nmake -f makefile.vc
  6. nmake -f makefile.vc install
  7. Copy INSTALLDIR\bin\tix8184.dll to <python>\DLLs
  8. Optionally copy tix8184.lib somewhere
  9. copy INSTALLDIR\lib\tix8.1 into <python>\tcl

With these instructions, invoking t.tk.eval("package require
Tix") succeeds. For some reason, Tix won't still find any of
the commands; I'll investigate this later.

@loewis
Copy link
Mannequin

loewis mannequin commented Jun 15, 2003

Logged In: YES
user_id=21627

I found that the instructions need slight modification: In step
2, use tk...\mkd.bat for mkdir. Apart from that, these
instructions work fine for me, now. I have made a binary
release of tix8.1 for Python 2.3 at

http://www.dcl.hpi.uni-potsdam.de/home/loewis/tix8.1.zip

The tix8184.dll goes to DLLs, the tix8.1 subdirectory goes to
tcl. It differs from the standard tix8.1 subdirectory only in
fixing the path to the DLLs directory.

To test whether this works, execute Demo/tix/tixwidgets.py.

@digulla
Copy link
Mannequin

digulla mannequin commented Jul 28, 2003

Logged In: YES
user_id=606

The Tix8184.dll is still missing in Python 2.3c2. The included
Tix8183.dll (which is in the directory tcl\tix8.1\ along with a
couple of other dlls -> can't be found by Python) is linked
against Tcl/Tk 8.3.

@digulla
Copy link
Mannequin

digulla mannequin commented Oct 3, 2003

Logged In: YES
user_id=606

loewis, when will your package show up in the official Python
distribution? It's still not there in 2.3.2 :-(

@tim-one
Copy link
Member

tim-one commented Oct 3, 2003

Logged In: YES
user_id=31435

Unassigned (doesn't look like I'll ever get time for this).

@loewis
Copy link
Mannequin

loewis mannequin commented Oct 3, 2003

Logged In: YES
user_id=21627

Reassigning to Thomas, who is doing Windows releases these days.

@jimjjewett
Copy link
Mannequin

jimjjewett mannequin commented Feb 24, 2004

Logged In: YES
user_id=764593

Note that the problem is still there in 2.3.3; if it can't be fixed,
could the documentation at least mention that Tix requires
3rd-party libraries on Windows?

@theller
Copy link

theller commented Mar 31, 2004

Logged In: YES
user_id=11105

I'm willing to do some work to include tix in Python 2.3.4,
if someone can update the instructions.

@loewis
Copy link
Mannequin

loewis mannequin commented Mar 31, 2004

Logged In: YES
user_id=21627

The instructions from 2003-04-26/2003-06-15 should still be
valid.

For 2.4, the story will be different, as Tix does not
currently build with VC7.

@theller
Copy link

theller commented Apr 1, 2004

Logged In: YES
user_id=11105

I've built according to your instructions (slightly
adjusted), then copied tix8184.dll to the DLLs directory (of
a Python 2.3.3, installed with the windows installer), and
the tix8.1 directory into the tcl directory (sibling of
tcl8.4, tk8.4 and so on).

Demo\tixwidgets.py complains:

Traceback (most recent call last):
  File "c:\sf\python\dist23\src\Demo\tix\tixwidgets.py",
line 1002, in ?
    root = Tix.Tk()
  File "C:\Python23\lib\lib-tk\Tix.py", line 210, in __init__
    self.tk.eval('package require Tix')
_tkinter.TclError: couldn't load library "tix8184.dll": this
library or a dependent library could not be found in library
path

Any advise?

@theller
Copy link

theller commented Apr 2, 2004

Logged In: YES
user_id=11105

Problem seems to be that tix8184.dll is not found, and
neither of the entries in tcl\tix8.1\pkgIndex.tcl seem to work.
Adding a line
lappend dirs /python23/DLLs
helps when the whole stuff is installed in c:\Python23, but
this cannot be the solution.
OTOH, I don't know anything of tcl, so I cannot proceed.

@theller
Copy link

theller commented Apr 8, 2004

Logged In: YES
user_id=11105

Martin, any ideas?

@mjpieters
Copy link
Mannequin

mjpieters mannequin commented Apr 16, 2004

Logged In: YES
user_id=116747

If the tix8184 DLL cannot be found, this is most likely
because you are running a Python binary with a different
relative path than the bog-standard c:\Python23\python.exe.
For example, the Pythonwin package lives in a site-packages
subdir!

To have Tix work in Pythonwin therefor, you'll have to add
another search path to the tix8.1/pkgIndex.tcl file, one
which uses the correct relative path for the DLLs dir. I added:

lappend dirs [file join [file dirname [info nameofexe]] ..
.. .. DLLs]

(That's one line, with three ..'s). This'll look for a DLLs
dir 3 directories above the dir of the running binary.
Voila, it now works in Pythonwin as well as in IDLE and in
standalone scripts.

Martijn

@theller
Copy link

theller commented Apr 16, 2004

Logged In: YES
user_id=11105

Thanks, Martijn, that helped.
The tix-dll is in the directory c:\Python23\DLLs, and the
pkgindex.tcl is in the c:\Python23\tcl\tix8.1 directory, so
I added

lappend dirs [file join [file dirname [info nameofexe]] DLLs]

and it works.

I still wonder if it would be better to locate the dll
relative to the directory of pkgindex.tcl, but I cannot
achive this. Better than nothing.
I'll check it in and close the bug.

(Sidenote: it seems MvL's instructions actually *were*
correct, I just missed the 'DLLs]' part which were on the
next line ;-)

@loewis
Copy link
Mannequin

loewis mannequin commented Jun 8, 2004

Logged In: YES
user_id=21627

Thanks to Thomas' efforts, the problem has been eventually resolved for
Python 2.3.4. It is not clear at this time whether Tix will also ship with
Python 2.4, as that release will be built with Visual Studio .NET 2004; Tix
currently does not build with that compiler.

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants