Hi,

This is clearly a bug in the matplotlib module.  And, wow, that's a
fatal one!  There is really absolutely nothing we can do about that.
We should catch this in the dep_check module.  This matplotlib module
would be an optional module.  So clearly in this case, the
matplotlib_module flag would be set to False.  Maybe the text of this
error could be caught and stored in this module, and then presented to
the user when they call the matplotlib user functions.

Note that we should discuss where such code will go.  I would suggest
that it be made generic - i.e. it follows the structure and ideas of
the Grace code.  And then most development would consist of using an
'svn cp' command to duplicate the grace code which is then morphed
into the matplotlib code.  The exception would be the dump of your
code into a new lib.plotting package.  This would also be the fastest
way.  Then we could create a new branch from the relax trunk for such
developments.  This way neither the relax trunk nor the relax_disp
branch need to wait for the development of this feature.

Regards,

Edward



On 21 October 2013 14:38, Troels Emtekær Linnet <[email protected]> wrote:
> Hi Edward.
>
> The errors I get is written below:
> I don't know if it is a packaging error, or if it is related to relax?
> But it seems weird, and I would just like to hear if you have the same
> error. :-)
>
> Best
> Troels
>
> relax> import matplotlib.pyplot as plt
> Traceback (most recent call last):
>   File "<console>", line 1, in <module>
>   File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 6, in
> <module>
>     from matplotlib.figure import Figure, figaspect
>   File "/usr/lib64/python2.6/site-packages/matplotlib/figure.py", line 18,
> in <module>
>     from axes import Axes, SubplotBase, subplot_class_factory
>   File "/usr/lib64/python2.6/site-packages/matplotlib/axes.py", line 17, in
> <module>
>     import matplotlib.dates as mdates
>   File "/usr/lib64/python2.6/site-packages/matplotlib/dates.py", line 104,
> in <module>
>     from dateutil.rrule import rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY, \
>   File "/usr/lib/python2.6/site-packages/dateutil/rrule.py", line 26, in
> <module>
>     MDAY366MASK =
> tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7])
> TypeError: unsupported operand type(s) for +: 'xrange' and 'xrange'
> relax>
>
> ########################3
> [tlinnet@haddock ~]$ relax_disp -i
>
>
>
>                                   relax repository checkout rNone
>                                                 None
>
>                               Molecular dynamics by NMR data analysis
>
>                              Copyright (C) 2001-2006 Edward d'Auvergne
>                          Copyright (C) 2006-2013 the relax development team
>
> This is free software which you are welcome to modify and redistribute under
> the conditions of the
> GNU General Public License (GPL).  This program, including all modules, is
> licensed under the GPL
> and comes with absolutely no warranty.  For details type 'GPL' within the
> relax prompt.
>
> Assistance in using the relax prompt and scripting interface can be accessed
> by typing 'help' within
> the prompt.
>
> Processor fabric:  Uni-processor.
>
>
> Hardware information:
>     Machine:                 x86_64
>     Processor:               x86_64
>     Endianness:              little
>     Total RAM size:          24013 Mb
>     Total swap size:         26191 Mb
>
> Operating system information:
>     System:                  Linux
>     Release:                 2.6.32-358.18.1.el6.x86_64
>     Version:                 #1 SMP Fri Aug 2 17:04:38 EDT 2013
>     GNU/Linux version:       Red Hat Enterprise Linux Server 6.4 Santiago
>     Distribution:            redhat 6.4 Santiago
>     Full platform string:
> Linux-2.6.32-358.18.1.el6.x86_64-x86_64-with-redhat-6.4-Santiago
>
> Python information:
>     Architecture:            64bit ELF
>     Python version:          2.6.6
>     Python branch:           tags/r266
>     Python build:            r266:84292, May 27 2013 05:35:12
>     Python compiler:         GCC 4.4.7 20120313 (Red Hat 4.4.7-3)
>     Libc version:            glibc 2.2.5
>     Python implementation:   CPython
>     Python revision:         84292
>     Python executable:       /usr/bin/python
>     Python flags:            sys.flags(debug=0, py3k_warning=0,
> division_warning=0, division_new=0, inspect=0, interactive=0, optimize=0,
> dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0,
> tabcheck=0, verbose=0, unicode=0, bytes_warning=0, hash_randomization=0)
>     Python float info:       sys.floatinfo(max=1.7976931348623157e+308,
> max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021,
> min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.2204460492503131e-16,
> radix=2, rounds=1)
>     Python module path:      ['/sbinlab2/software/NMR-relax/relax_disp',
> '/sbinlab2/software/CCP4-Linux_6.3.0/ccp4-6.3.0/share/python',
> '/sbinlab2/tlinnet', '/sbinlab2/software/x64/haddock2.1',
> '/sbinlab2/software/x64/lib64/python2.6/site-packages',
> '/sbinlab2/software/x64/ccpnmr/ccpnmr2.3/python', '/usr/lib64/python26.zip',
> '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2',
> '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old',
> '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages',
> '/usr/lib64/python2.6/site-packages/gst-0.10',
> '/usr/lib64/python2.6/site-packages/gtk-2.0',
> '/usr/lib64/python2.6/site-packages/webkit-1.0',
> '/usr/lib64/python2.6/site-packages/wx-2.8-gtk2-unicode',
> '/usr/lib/python2.6/site-packages',
> '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info']
>
> Python packages and modules (most are optional):
>
> Name               Installed    Version                    Path
> minfx              True         1.0.5
> /usr/lib/python2.6/site-packages/minfx
> bmrblib            True         1.0.3
> /usr/lib/python2.6/site-packages/bmrblib
> numpy              True         1.4.1
> /usr/lib64/python2.6/site-packages/numpy
> scipy              True         0.7.2
> /usr/lib64/python2.6/site-packages/scipy
> wxPython           True         2.8.12.0 (gtk2-unicode)
> /usr/lib64/python2.6/site-packages/wx-2.8-gtk2-unicode/wx
> mpi4py             True         1.3.1
> /usr/lib64/python2.6/site-packages/mpi4py
> epydoc             False
> optparse           True         1.5.3
> /usr/lib64/python2.6/optparse.pyc
> readline           True
> /usr/lib64/python2.6/lib-dynload/readline.so
> profile            True
> /usr/lib64/python2.6/profile.pyc
> bz2                True
> /usr/lib64/python2.6/lib-dynload/bz2.so
> gzip               True
> /usr/lib64/python2.6/gzip.pyc
> io                 True
> /usr/lib64/python2.6/io.pyc
> xml                True         0.8.4 (PyXML)
> /usr/lib64/python2.6/site-packages/_xmlplus/__init__.pyc
> xml.dom.minidom    True
> /usr/lib64/python2.6/site-packages/_xmlplus/dom/minidom.pyc
>
> relax information:
>     Version:                 repository checkout
>     Processor fabric:        Uni-processor.
>
> relax C modules:
>
> Module                        Compiled    File type
> Path
> target_functions.relax_fit    True        ELF 64-bit LSB shared object,
> x86-64, version 1 (SYSV), dynamically linked, not stripped
> /sbinlab2/software/NMR-relax/relax_disp/target_functions/relax_fit.so
>
> ##########################################
>
>
>
> 2013/10/18 Edward d'Auvergne <[email protected]>
>>
>> Hi Troels,
>>
>> It should be possible to get your matplotlib plotting code into the
>> relax library, just as the Grace plotting code is.  The Grace code is
>> at lib/software/grace.py.  Maybe I should create a new package called
>> lib.plotting and shift the Grace module there?  Then all the plotting
>> modules - grace, opendx, matplotlib, gnuplot, etc. - can sit together.
>>  New user functions can be created by copying user_functions.grace and
>> pipe_control.grace to user_functions.matplotlib and
>> pipe_control.matplotlib.  The pipe_control.matplotlib module simply
>> assembles the data from the relax data store and passes it into
>> lib.software.matplotlib for plotting.
>>
>> As for the import error, could you copy and paste the full message?
>> This is not normal and it could have something to do with different
>> Python versions being used by relax and when you type 'python'.  Could
>> you run 'relax -i' and check that the Python binaries are identical?
>> Cheers.  It should be possible to have this running!
>>
>> Regards,
>>
>> Edward
>>
>>
>>
>> On 18 October 2013 09:25, Troels Emtekær Linnet <[email protected]>
>> wrote:
>> > Hi Edward.
>> >
>> > I am trying to plot some custom made graphs via matplotlib in relax.
>> >
>> > Basically, I extract the r2 values for each spin, and plot them.
>> >
>> > But I get a package error when I do
>> >
>> > import matplotlib.pyplot as plt
>> >
>> > It is a dateutil error? And I am not able to pinpoint the error.
>> >
>> > I have checked that I can do the import in my normal python
>> > installation.
>> >
>> > My current solution is to extract the wanted values from relax into a
>> > dictionary, and dump the dictionary in json format.
>> >
>> > Then make a normal python script, that reads the json dictionary, and
>> > plot
>> > the values.
>> >
>> > I would be interested to hear if you have the same problem importing
>> > matplotlib in relax, or if it is only my setup?
>> >
>> > Can this be fixed?
>> >
>> > Another solution could be to open a dumped relax saved state in a python
>> > section and run through the data.
>> > Is it possible to do this?
>> >
>> > Best
>> > Troels
>> >
>> >
>> > _______________________________________________
>> > relax (http://www.nmr-relax.com)
>> >
>> > This is the relax-devel mailing list
>> > [email protected]
>> >
>> > To unsubscribe from this list, get a password
>> > reminder, or change your subscription options,
>> > visit the list information page at
>> > https://mail.gna.org/listinfo/relax-devel
>> >
>
>

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to