|
From: Eric E. <ems...@ob...> - 2006-04-24 16:50:47
|
Hi,
please let me know if this remark is irrelevant:
this is the third email mentioning that I still have to add one line
in setupext.py in order for matplotlib to be installed without crashing
(see below).
For some reason this 'bug' (if it is one?) is present since many
versions and has not been solved for me although I have tried to send
emails regularly regarding this item. Please let me know if this is
normal or if it is just something not set up right for me.
ALSO: I posted a request for help on mplot3d twice, but got no feedback.
Any help is welcome!
thanks in advance,
Eric
P.S.: here is what I have to do everytime I wish to install a new
version of matplotlib:
# add one line in setupext.py:
o.tcl_inc="/usr/include/"
# before
if not os.path.exists(o.tcl_inc):
print 'cannot find tcl/tk headers. giving up.'
sys.exit()
return o
|
|
From: Nadia D. <den...@st...> - 2006-04-25 16:00:33
|
John Hunter wrote: >>>>>>"Humufr" == Humufr <hu...@ya...> writes: > > > Humufr> I looked a little bit at this problem before (I have the > Humufr> same issue) and I saw that the test on suse 10 (at least) > Humufr> give a bad answer and so matplotlib can't find the > Humufr> header. This is the result of the test on the suse install > Humufr> in my lab: > > Humufr> In [1]: import Tkinter > > Humufr> In [2]: tk=Tkinter.Tk() > > Humufr> In [3]: tk.getvar('tcl_library') Out[3]: > Humufr> '/usr/share/tcl/tcl8.4' > > Humufr> In [4]: tk.getvar('tk_library') Out[4]: > Humufr> u'/usr/share/tcl/tk8.4' > > Humufr> In [5]: tk.getvar('tk_library') Out[5]: > Humufr> u'/usr/share/tcl/tk8.4' > It looks like the Suse tcl/tl/Tkinter install is broken -- is this an > official package? We should check the effbot's latest code (which is > where this is borrowed from) to see if he has a fix in for this. > > JDH This may not be such a rare event. I see the same problem on MacOSX 10.3: python, tcl/tk (X11 based) compiled in a local directory (and is one of the reasons I don't use the original setupext on MacOSX). >>> tk.getvar('tcl_library') '/usr/stsci/pyssgdev/lib/tcl8.4' but >>> tk.getvar('tk_library') u'/usr/stsci/pyssgdev/lib/tk8.4' I haven't had time to try to understand it but I believe the installation I have is correct and this is a python/Tkinter problem. (The first thing that comes to mind is 'unicode':)) Nadia |
|
From: Nadia D. <den...@st...> - 2006-04-25 21:27:21
|
>
> >>> tk.getvar('tk_library')
> u'/usr/stsci/pyssgdev/lib/tk8.4'
> (The first thing that comes to mind is 'unicode':))
>
Hmm, turns out this is not a joke.
On a linux machine I get
enchanter> python
Python 2.4.3 (#2, Apr 17 2006, 10:36:38)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> tk=Tkinter.Tk()
>>> type(tk.getvar('tk_library'))
<type 'str'>
>>> type(tk.getvar('tcl_library'))
<type 'str'>
The same example on MacOSX (python, tcl/tk are X11 based, built in
a local directory) gives:
>>> type(tk.getvar('tk_library'))
<type 'unicode'>
>>> type(tk.getvar('tcl_library'))
<type 'str'>
I'm using tcl/tk 8.3 on linux and tcl/tk 8.4 on the mac.
Is anyone aware of any changes to Tk 8.4 that could cause this
behavior?
A possible workaround is
tk.getvar('tk_library').encode('utf8')
Nadia
|
|
From: Darren D. <dd...@co...> - 2006-04-25 21:51:30
|
On Tuesday 25 April 2006 17:27, Nadia Dencheva wrote:
> > >>> tk.getvar('tk_library')
> >
> > u'/usr/stsci/pyssgdev/lib/tk8.4'
> >
> > (The first thing that comes to mind is 'unicode':))
>
> Hmm, turns out this is not a joke.
>
> On a linux machine I get
>
> enchanter> python
> Python 2.4.3 (#2, Apr 17 2006, 10:36:38)
> [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-54)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>
> >>> import Tkinter
> >>> tk=Tkinter.Tk()
> >>> type(tk.getvar('tk_library'))
>
> <type 'str'>
>
> >>> type(tk.getvar('tcl_library'))
>
> <type 'str'>
>
> The same example on MacOSX (python, tcl/tk are X11 based, built in
>
> a local directory) gives:
> >>> type(tk.getvar('tk_library'))
>
> <type 'unicode'>
>
> >>> type(tk.getvar('tcl_library'))
>
> <type 'str'>
>
>
> I'm using tcl/tk 8.3 on linux and tcl/tk 8.4 on the mac.
> Is anyone aware of any changes to Tk 8.4 that could cause this
> behavior?
>
> A possible workaround is
>
> tk.getvar('tk_library').encode('utf8')
This might be related to a unicode bug in python too. I saw a mention
somewhere that python-2.4.3 would include some unicode bug fixes.
|
|
From: John H. <jdh...@ac...> - 2006-04-24 17:18:13
|
>>>>> "Eric" == Eric Emsellem <ems...@ob...> writes:
Eric> Hi, please let me know if this remark is irrelevant: this is
Eric> the third email mentioning that I still have to add one line
Eric> in setupext.py in order for matplotlib to be installed
Eric> without crashing (see below). For some reason this 'bug'
Eric> (if it is one?) is present since many versions and has not
Eric> been solved for me although I have tried to send emails
Eric> regularly regarding this item. Please let me know if this is
Eric> normal or if it is just something not set up right for me.
Eric> ALSO: I posted a request for help on mplot3d twice, but got
Eric> no feedback. Any help is welcome!
mplot3 is not in any official matplotlib version -- it resides in svn
and is awaiting integration. I took a stab at this after your last
email but ran into difficulties. Thus you should consider mplot3d
unsupported until we make a release that includes it.
Eric> thanks in advance, Eric
Eric> P.S.: here is what I have to do everytime I wish to install
Eric> a new version of matplotlib:
Eric> # add one line in setupext.py:
Eric> o.tcl_inc="/usr/include/"
The problem is that this fixes the bug for your system, but is not a
general solution. Other platforms will put their tcl/tk libs in a
different place. So we need a generic solution which will work across
platforms, which is why I haven't committed this. Granted
/usr/include is a standard location, and this would be a good fallback
to try if the current method fails (it fails for you and works for
most -- perhaps some tcl config app is missing on your system?).
JDH
|
|
From: Antonio G. <Ant...@ki...> - 2006-04-25 09:55:02
|
I believe the installation problem that Eric points must be a little more widespread than acknowledged here. I for one have to add the line he mentions to my setupext.py file each time I install matplotlib. The first time I had this problem I found the solution after googling around, so others have had this problem before. More importantly, I am running matplotlib under SUSE 10.0, and all my libraries have been installed from the RPMs provided by Suse; ie, having tcl headers in "/usr/include/" mustn't be that unusual. Antonio John Hunter wrote: >>>>>> "Eric" == Eric Emsellem <ems...@ob...> writes: > > Eric> Hi, please let me know if this remark is irrelevant: this is > Eric> the third email mentioning that I still have to add one line > Eric> in setupext.py in order for matplotlib to be installed > Eric> without crashing (see below). For some reason this 'bug' > Eric> (if it is one?) is present since many versions and has not > Eric> been solved for me although I have tried to send emails > Eric> regularly regarding this item. Please let me know if this is > Eric> normal or if it is just something not set up right for me. > > Eric> ALSO: I posted a request for help on mplot3d twice, but got > Eric> no feedback. Any help is welcome! > > > mplot3 is not in any official matplotlib version -- it resides in svn > and is awaiting integration. I took a stab at this after your last > email but ran into difficulties. Thus you should consider mplot3d > unsupported until we make a release that includes it. > > Eric> thanks in advance, Eric > > Eric> P.S.: here is what I have to do everytime I wish to install > Eric> a new version of matplotlib: > > Eric> # add one line in setupext.py: > > Eric> o.tcl_inc="/usr/include/" > > > The problem is that this fixes the bug for your system, but is not a > general solution. Other platforms will put their tcl/tk libs in a > different place. So we need a generic solution which will work across > platforms, which is why I haven't committed this. Granted > /usr/include is a standard location, and this would be a good fallback > to try if the current method fails (it fails for you and works for > most -- perhaps some tcl config app is missing on your system?). > > JDH > > > ------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Eric F. <ef...@ha...> - 2006-04-24 17:22:48
|
Eric, I don't know much about setup and installation, but based on your message and a quick look at the relevant part of setupext.py, my guess is that there is something odd about your tk/tcl installation. The code is trying to use methods provided by Tkinter to automatically locate the header files. This code must work for nearly everyone, or else there would be many problem reports like yours. You might be able to track down the problem by executing the header discovery code in find_tcltk line-by-line from the interpreter, or by adding lots of print statements. Did you by any chance manually install your tk/tcl header files, as opposed to installing them as part of a *-devel rpm? I am assuming you are running Linux. Eric Eric Emsellem wrote: > Hi, > > please let me know if this remark is irrelevant: > this is the third email mentioning that I still have to add one line in > setupext.py in order for matplotlib to be installed without crashing > (see below). > For some reason this 'bug' (if it is one?) is present since many > versions and has not been solved for me although I have tried to send > emails regularly regarding this item. Please let me know if this is > normal or if it is just something not set up right for me. > > ALSO: I posted a request for help on mplot3d twice, but got no feedback. > Any help is welcome! > > thanks in advance, > Eric > > P.S.: here is what I have to do everytime I wish to install a new > version of matplotlib: > > # add one line in setupext.py: > > o.tcl_inc="/usr/include/" > > # before > if not os.path.exists(o.tcl_inc): > print 'cannot find tcl/tk headers. giving up.' > sys.exit() > return o > > > ------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Humufr <hu...@ya...> - 2006-04-25 13:22:55
|
I looked a little bit at this problem before (I have the same issue) and I saw that the test on suse 10 (at least) give a bad answer and so matplotlib can't find the header. This is the result of the test on the suse install in my lab: In [1]: import Tkinter In [2]: tk=Tkinter.Tk() In [3]: tk.getvar('tcl_library') Out[3]: '/usr/share/tcl/tcl8.4' In [4]: tk.getvar('tk_library') Out[4]: u'/usr/share/tcl/tk8.4' In [5]: tk.getvar('tk_library') Out[5]: u'/usr/share/tcl/tk8.4' In [6]: Tkinter.TkVersion Out[6]: 8.4000000000000004 That explain the problem with setupext.py and like this problem came for the python install on a specific distribution I don't see how that can be generalized. I didn't have this kind of problem with ubuntu but Suse (at least) is famous for some old bug like the one with blas... Regards, N. Eric Firing wrote: > Eric, > > I don't know much about setup and installation, but based on your > message and a quick look at the relevant part of setupext.py, my guess > is that there is something odd about your tk/tcl installation. The > code is trying to use methods provided by Tkinter to automatically > locate the header files. This code must work for nearly everyone, or > else there would be many problem reports like yours. > > You might be able to track down the problem by executing the header > discovery code in find_tcltk line-by-line from the interpreter, or by > adding lots of print statements. > > Did you by any chance manually install your tk/tcl header files, as > opposed to installing them as part of a *-devel rpm? I am assuming > you are running Linux. > > Eric > > Eric Emsellem wrote: >> Hi, >> >> please let me know if this remark is irrelevant: >> this is the third email mentioning that I still have to add one line >> in setupext.py in order for matplotlib to be installed without >> crashing (see below). >> For some reason this 'bug' (if it is one?) is present since many >> versions and has not been solved for me although I have tried to send >> emails regularly regarding this item. Please let me know if this is >> normal or if it is just something not set up right for me. >> >> ALSO: I posted a request for help on mplot3d twice, but got no >> feedback. Any help is welcome! >> >> thanks in advance, >> Eric >> >> P.S.: here is what I have to do everytime I wish to install a new >> version of matplotlib: >> >> # add one line in setupext.py: >> >> o.tcl_inc="/usr/include/" >> >> # before >> if not os.path.exists(o.tcl_inc): >> print 'cannot find tcl/tk headers. giving up.' >> sys.exit() >> return o >> >> >> ------------------------------------------------------- >> Using Tomcat but need to do more? Need to support web services, >> security? >> Get stuff done quickly with pre-integrated technology to make your >> job easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > ------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: John H. <jdh...@ac...> - 2006-04-25 14:31:12
|
>>>>> "Humufr" == Humufr <hu...@ya...> writes:
Humufr> I looked a little bit at this problem before (I have the
Humufr> same issue) and I saw that the test on suse 10 (at least)
Humufr> give a bad answer and so matplotlib can't find the
Humufr> header. This is the result of the test on the suse install
Humufr> in my lab:
Humufr> In [1]: import Tkinter
Humufr> In [2]: tk=Tkinter.Tk()
Humufr> In [3]: tk.getvar('tcl_library') Out[3]:
Humufr> '/usr/share/tcl/tcl8.4'
Humufr> In [4]: tk.getvar('tk_library') Out[4]:
Humufr> u'/usr/share/tcl/tk8.4'
Humufr> In [5]: tk.getvar('tk_library') Out[5]:
Humufr> u'/usr/share/tcl/tk8.4'
This looks like what Eric is getting (offlist).
Can you confirm your tcl.h and tk.h are in /usr/include? Do the dirs
/usr/include/tcl8.4 and /usr/include/tk8.4 exist?
It looks like the Suse tcl/tl/Tkinter install is broken -- is this an
official package? We should check the effbot's latest code (which is
where this is borrowed from) to see if he has a fix in for this.
JDH
|
|
From: Humufr <hu...@ya...> - 2006-04-25 15:42:38
|
John Hunter wrote: > > Humufr> I looked a little bit at this problem before (I have the > Humufr> same issue) and I saw that the test on suse 10 (at least) > Humufr> give a bad answer and so matplotlib can't find the > Humufr> header. This is the result of the test on the suse install > Humufr> in my lab: > > Humufr> In [1]: import Tkinter > > Humufr> In [2]: tk=Tkinter.Tk() > > Humufr> In [3]: tk.getvar('tcl_library') Out[3]: > Humufr> '/usr/share/tcl/tcl8.4' > > Humufr> In [4]: tk.getvar('tk_library') Out[4]: > Humufr> u'/usr/share/tcl/tk8.4' > > Humufr> In [5]: tk.getvar('tk_library') Out[5]: > Humufr> u'/usr/share/tcl/tk8.4' > > This looks like what Eric is getting (offlist). > > Can you confirm your tcl.h and tk.h are in /usr/include? confirm > Do the dirs > /usr/include/tcl8.4 and /usr/include/tk8.4 exist? > > no they doesn't exist. All the header for tcl/tk are install in /usr/include > It looks like the Suse tcl/tl/Tkinter install is broken -- is this an > official package? We should check the effbot's latest code (which is > where this is borrowed from) to see if he has a fix in for this. > > I think so but like I told before it's not the only package a little bit strange on Suse... N. > JDH > > |
|
From: John H. <jdh...@ac...> - 2006-04-25 15:48:27
|
>>>>> "Humufr" == Humufr <hu...@ya...> writes:
Humufr> In [5]: tk.getvar('tk_library') Out[5]:
Humufr> u'/usr/share/tcl/tk8.4'
>> This looks like what Eric is getting (offlist).
>>
>> Can you confirm your tcl.h and tk.h are in /usr/include?
Humufr> confirm
Where are your libtcl and libtk files?
Please try the attached, which isn't pretty but not much more we
can do on a broken system
def find_tcltk():
"""Finds Tcl/Tk includes/libraries/version by interrogating Tkinter."""
try:
import Tkinter
except:
print "Tkinter not properly installed\n"
sys.exit(1)
if Tkinter.TkVersion < 8.3:
print "Tcl/Tk v8.3 or later required\n"
sys.exit(1)
o = FoundTclTk()
try:
tk=Tkinter.Tk()
except Tkinter.TclError:
print "Using default library and include directories for Tcl and Tk because a"
print "Tk window failed to open. You may need to define DISPLAY for Tk to work"
print "so that setup can determine where your libraries are located."
o.tcl_lib = "/usr/local/lib"
o.tcl_inc = "/usr/local/include"
o.tk_lib = "/usr/local/lib"
o.tk_inc = "/usr/local/include"
o.tkv = ""
else:
tk.withdraw()
o.tcl_lib = os.path.join((tk.getvar('tcl_library')), '../')
o.tk_lib = os.path.join(str(tk.getvar('tk_library')), '../')
o.tkv = str(Tkinter.TkVersion)[:3]
o.tcl_inc = os.path.join((tk.getvar('tcl_library')),
'../../include/tcl'+o.tkv)
if not os.path.exists(o.tcl_inc):
o.tcl_inc = os.path.join((tk.getvar('tcl_library')),
'../../include')
o.tk_inc = os.path.join((tk.getvar('tk_library')),
'../../include/tk'+o.tkv)
if not os.path.exists(o.tk_inc):
o.tk_inc = os.path.join((tk.getvar('tk_library')),
'../../include')
# this is a hack for suse, which is broken
if not os.path.exists(o.tcl_inc):
if os.path.exists('/usr/include/tcl.h') and os.path.exists('/usr/include/tk.h'):
o.tcl_inc = '/usr/include/'
o.tk_inc = '/usr/include/'
if not os.path.exists(o.tcl_inc):
print 'cannot find tcl/tk headers. giving up.'
sys.exit()
|
|
From: Humufr <hu...@ya...> - 2006-04-25 16:05:22
|
John Hunter wrote:
>>>>>> Humufr> In [5]: tk.getvar('tk_library') Out[5]:
>>>>>> Humufr> u'/usr/share/tcl/tk8.4'
>>>>>> >> This looks like what Eric is getting (offlist).
>>>>>> >>
>>>>>> >> Can you confirm your tcl.h and tk.h are in /usr/include?
>>>>>>
>>>>>> Humufr> confirm
>>>>>>
>>>>>> Where are your libtcl and libtk files?
>>>>>>
>>>>>>
torro[~/tmp/firefox] ls /usr/lib/libtcl
libtcl8.4.so* libtclstub8.4.a libtclx8.4.so*
torro[~/tmp/firefox] ls /usr/lib/libtk
libtk8.4.so* libtkstub8.4.a
The function is not working. I print the test and another Suse mystery
appeared...
python setup.py install
False /usr/share/tcl/tcl8.4/../../include
Traceback (most recent call last):
File "setup.py", line 229, in ?
build_tkagg(ext_modules, packages, NUMERIX)
File "/home/humufr/matplotlib/matplotlib/setupext.py", line 570, in
build_tkagg
add_tk_flags(module) # do this first
File "/home/humufr/matplotlib/matplotlib/setupext.py", line 495, in
add_tk_flags
module.include_dirs.extend([o.tcl_inc, o.tk_inc])
AttributeError: 'NoneType' object has no attribute 'tcl_inc'
The result of the test to contourn Suse problem:
print os.path.exists(o.tcl_inc),o.tcl_inc
False /usr/share/tcl/tcl8.4/../../include
And I checked the directory:
torro[~/tmp/firefox] ls /usr/share/tcl/tcl8.4/../../include
ls: /usr/share/tcl/tcl8.4/../../include: No such file or directory
N.
>>>>>> Please try the attached, which isn't pretty but not much more we
>>>>>> can do on a broken system
>>>>>>
>>>>>>
>>>>>> def find_tcltk():
>>>>>> """Finds Tcl/Tk includes/libraries/version by interrogating Tkinter."""
>>>>>> try:
>>>>>> import Tkinter
>>>>>> except:
>>>>>> print "Tkinter not properly installed\n"
>>>>>> sys.exit(1)
>>>>>> if Tkinter.TkVersion < 8.3:
>>>>>> print "Tcl/Tk v8.3 or later required\n"
>>>>>> sys.exit(1)
>>>>>> o = FoundTclTk()
>>>>>> try:
>>>>>> tk=Tkinter.Tk()
>>>>>> except Tkinter.TclError:
>>>>>> print "Using default library and include directories for Tcl and Tk because a"
>>>>>> print "Tk window failed to open. You may need to define DISPLAY for Tk to work"
>>>>>> print "so that setup can determine where your libraries are located."
>>>>>> o.tcl_lib = "/usr/local/lib"
>>>>>> o.tcl_inc = "/usr/local/include"
>>>>>> o.tk_lib = "/usr/local/lib"
>>>>>> o.tk_inc = "/usr/local/include"
>>>>>> o.tkv = ""
>>>>>> else:
>>>>>> tk.withdraw()
>>>>>> o.tcl_lib = os.path.join((tk.getvar('tcl_library')), '../')
>>>>>> o.tk_lib = os.path.join(str(tk.getvar('tk_library')), '../')
>>>>>> o.tkv = str(Tkinter.TkVersion)[:3]
>>>>>> o.tcl_inc = os.path.join((tk.getvar('tcl_library')),
>>>>>> '../../include/tcl'+o.tkv)
>>>>>> if not os.path.exists(o.tcl_inc):
>>>>>> o.tcl_inc = os.path.join((tk.getvar('tcl_library')),
>>>>>> '../../include')
>>>>>> o.tk_inc = os.path.join((tk.getvar('tk_library')),
>>>>>> '../../include/tk'+o.tkv)
>>>>>> if not os.path.exists(o.tk_inc):
>>>>>> o.tk_inc = os.path.join((tk.getvar('tk_library')),
>>>>>> '../../include')
>>>>>>
>>>>>> # this is a hack for suse, which is broken
>>>>>> if not os.path.exists(o.tcl_inc):
>>>>>> if os.path.exists('/usr/include/tcl.h') and os.path.exists('/usr/include/tk.h'):
>>>>>> o.tcl_inc = '/usr/include/'
>>>>>> o.tk_inc = '/usr/include/'
>>>>>>
>>>>>> if not os.path.exists(o.tcl_inc):
>>>>>> print 'cannot find tcl/tk headers. giving up.'
>>>>>> sys.exit()
>>>>>>
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------
>>>>>> Using Tomcat but need to do more? Need to support web services, security?
>>>>>> Get stuff done quickly with pre-integrated technology to make your job easier
>>>>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>>>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>>>>>> _______________________________________________
>>>>>> Matplotlib-users mailing list
>>>>>> Mat...@li...
>>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>>>
>>>>>>
|