Re: [matplotlib-devel] Error in import matplotlib.pyplot using Python/C API

2013-09-10 Thread Michael Droettboom
On 09/10/2013 08:23 AM, Filipe Saraiva wrote:
> Em Ter 03 Set 2013 17:02:28 BRT, Benjamin Root escreveu:
>> On Mon, Sep 2, 2013 at 12:27 AM, Filipe Saraiva
>> mailto:[email protected]>> wrote:
>>
>>  Hello,
>>
>>  First, thanks for this great library.
>>
>>  My name is Filipe Saraiva, I am developing a python backend for
>>  Cantor, the KDE mathematical software. More infos can be read in
>>  http://blog.filipesaraiva.info/?tag=gsoc2013-python-backend (in
>>  portuguese and english).
>>
>>  Currently I have a problem when I try import pyplot in Cantor. I
>>  am using Python 2.7.5 and matplotlib 1.3.0. The error is below:
>>
>>  import matplotlib.pyplot as plt
>>  Traceback (most recent call last):
>>File "", line 1, in 
>>File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py",
>>  line 98, in 
>>  _backend_mod, new_figure_manager, draw_if_interactive, _show =
>>  pylab_setup()
>>File
>>  "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py",
>>  line 25, in pylab_setup
>>  globals(),locals(),[backend_name])
>>File
>>  
>> "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py",
>>  line 19, in 
>>  _decref = ctypes.pythonapi.Py_DecRef
>>File "/usr/lib64/python2.7/ctypes/__init__.py", line 378, in
>>  __getattr__
>>  func = self.__getitem__(name)
>>File "/usr/lib64/python2.7/ctypes/__init__.py", line 383, in
>>  __getitem__
>>  func = self._FuncPtr((name_or_ordinal, self))
>>  AttributeError: kde/bin/cantor: undefined symbol: Py_DecRef
>>
>>  Well, anyone have any idea about how can I fix it?
>>
>>  Thank you,
>>
>>
>> My only guess is that there is some sort of linking/build error.
>> Perhaps the python-qt4 library was built and linked against a
>> different python on your system?
>>
>> Cheers!
>> Ben Root
> Really I don't know. I will question it to matplotlib maintainer.
>
> The pyplot import in python iteractive mode (python terminal) is
> working properly. I can run a matplotlib example using pyplot in this
> mode. I get the error just in Python/C API.
>

It looks like it's failing inside of ctypes.  How are you including 
Python in your application.  Perhaps the ctypes module (which is a C 
extension module that comes in the Python standard library) is not being 
included or found.  I'm at a bit of a loss, but this seems like more of 
a general "embedding python in a C application" question, which you 
might try asking on the Python mailing list.

Mike

-- 
_
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com


--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Error in import matplotlib.pyplot using Python/C API

2013-09-10 Thread Filipe Saraiva
Em Ter 03 Set 2013 17:02:28 BRT, Benjamin Root escreveu:
>
> On Mon, Sep 2, 2013 at 12:27 AM, Filipe Saraiva
> mailto:[email protected]>> wrote:
>
> Hello,
>
> First, thanks for this great library.
>
> My name is Filipe Saraiva, I am developing a python backend for
> Cantor, the KDE mathematical software. More infos can be read in
> http://blog.filipesaraiva.info/?tag=gsoc2013-python-backend (in
> portuguese and english).
>
> Currently I have a problem when I try import pyplot in Cantor. I
> am using Python 2.7.5 and matplotlib 1.3.0. The error is below:
>
> import matplotlib.pyplot as plt
> Traceback (most recent call last):
>   File "", line 1, in 
>   File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py",
> line 98, in 
> _backend_mod, new_figure_manager, draw_if_interactive, _show =
> pylab_setup()
>   File
> "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py",
> line 25, in pylab_setup
> globals(),locals(),[backend_name])
>   File
> 
> "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py",
> line 19, in 
> _decref = ctypes.pythonapi.Py_DecRef
>   File "/usr/lib64/python2.7/ctypes/__init__.py", line 378, in
> __getattr__
> func = self.__getitem__(name)
>   File "/usr/lib64/python2.7/ctypes/__init__.py", line 383, in
> __getitem__
> func = self._FuncPtr((name_or_ordinal, self))
> AttributeError: kde/bin/cantor: undefined symbol: Py_DecRef
>
> Well, anyone have any idea about how can I fix it?
>
> Thank you,
>
>
> My only guess is that there is some sort of linking/build error.
> Perhaps the python-qt4 library was built and linked against a
> different python on your system?
>
> Cheers!
> Ben Root

Really I don't know. I will question it to matplotlib maintainer.

The pyplot import in python iteractive mode (python terminal) is 
working properly. I can run a matplotlib example using pyplot in this 
mode. I get the error just in Python/C API.

--
Filipe Saraiva
http://filipesaraiva.info/

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Error in import matplotlib.pyplot using Python/C API

2013-09-10 Thread Christoph Gohlke
On 9/10/2013 1:54 PM, Eric Firing wrote:
> On 2013/09/10 5:43 AM, Michael Droettboom wrote:
>> Do any of those use ctypes?  Try creating a minimal ctypes example and
>> see if that works.
>
> Mike,
>
> I was a bit horrified to see that ctypes import and usage in mpl;
> fortunately it is a workaround for a PySide bug, and should only be
> temporary, if it should be there at all.
>
> Eric
>

Don't be horrified. The Ctypes workaround went trough the mailing list, 
a PR with discussions including most core developers, testing, several 
beta/rc/final versions, and real word usage. It fixes a problem that is 
still present today without it: the Qt4Agg backend is practically 
unusable with any recent version of PySide on CPython 3.x. Anyway, the 
Ctypes code could be put in a try/except statement for environments that 
don't support Ctypes or Python's C API.

Christoph

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Error in import matplotlib.pyplot using Python/C API

2013-09-10 Thread Eric Firing
On 2013/09/10 5:43 AM, Michael Droettboom wrote:
> Do any of those use ctypes?  Try creating a minimal ctypes example and
> see if that works.

Mike,

I was a bit horrified to see that ctypes import and usage in mpl; 
fortunately it is a workaround for a PySide bug, and should only be 
temporary, if it should be there at all.

Eric

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Error in import matplotlib.pyplot using Python/C API

2013-09-10 Thread Michael Droettboom
On 09/10/2013 10:05 AM, Filipe Saraiva wrote:
> Em Ter 10 Set 2013 09:33:37 BRT, Michael Droettboom escreveu:
>> On 09/10/2013 08:23 AM, Filipe Saraiva wrote:
>>> Em Ter 03 Set 2013 17:02:28 BRT, Benjamin Root escreveu:
 On Mon, Sep 2, 2013 at 12:27 AM, Filipe Saraiva
 mailto:[email protected]>> wrote:

   Hello,

   First, thanks for this great library.

   My name is Filipe Saraiva, I am developing a python backend for
   Cantor, the KDE mathematical software. More infos can be read in
 http://blog.filipesaraiva.info/?tag=gsoc2013-python-backend (in
   portuguese and english).

   Currently I have a problem when I try import pyplot in Cantor. I
   am using Python 2.7.5 and matplotlib 1.3.0. The error is below:

   import matplotlib.pyplot as plt
   Traceback (most recent call last):
 File "", line 1, in 
 File 
 "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py",
   line 98, in 
   _backend_mod, new_figure_manager, draw_if_interactive, 
 _show =
   pylab_setup()
 File
 "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py",
   line 25, in pylab_setup
   globals(),locals(),[backend_name])
 File
 "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py",
   line 19, in 
   _decref = ctypes.pythonapi.Py_DecRef
 File "/usr/lib64/python2.7/ctypes/__init__.py", line 378, in
   __getattr__
   func = self.__getitem__(name)
 File "/usr/lib64/python2.7/ctypes/__init__.py", line 383, in
   __getitem__
   func = self._FuncPtr((name_or_ordinal, self))
   AttributeError: kde/bin/cantor: undefined symbol: Py_DecRef

   Well, anyone have any idea about how can I fix it?

   Thank you,


 My only guess is that there is some sort of linking/build error.
 Perhaps the python-qt4 library was built and linked against a
 different python on your system?

 Cheers!
 Ben Root
>>> Really I don't know. I will question it to matplotlib maintainer.
>>>
>>> The pyplot import in python iteractive mode (python terminal) is
>>> working properly. I can run a matplotlib example using pyplot in this
>>> mode. I get the error just in Python/C API.
>>>
>>
>> It looks like it's failing inside of ctypes.  How are you including
>> Python in your application.  Perhaps the ctypes module (which is a C
>> extension module that comes in the Python standard library) is not being
>> included or found.  I'm at a bit of a loss, but this seems like more of
>> a general "embedding python in a C application" question, which you
>> might try asking on the Python mailing list.
>>
>> Mike
>>
>
> I am using my code with several python modules and I can not get any 
> error. I tried scipy, numpy, Spade, matplotlib... interesting, I don't 
> get error when I import matplotlib.animation.

Do any of those use ctypes?  Try creating a minimal ctypes example and 
see if that works.

Mike

-- 
_
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com


--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Error in import matplotlib.pyplot using Python/C API

2013-09-10 Thread Filipe Saraiva
Em Ter 10 Set 2013 09:33:37 BRT, Michael Droettboom escreveu:
> On 09/10/2013 08:23 AM, Filipe Saraiva wrote:
>> Em Ter 03 Set 2013 17:02:28 BRT, Benjamin Root escreveu:
>>> On Mon, Sep 2, 2013 at 12:27 AM, Filipe Saraiva
>>> mailto:[email protected]>> wrote:
>>>
>>>   Hello,
>>>
>>>   First, thanks for this great library.
>>>
>>>   My name is Filipe Saraiva, I am developing a python backend for
>>>   Cantor, the KDE mathematical software. More infos can be read in
>>>   http://blog.filipesaraiva.info/?tag=gsoc2013-python-backend (in
>>>   portuguese and english).
>>>
>>>   Currently I have a problem when I try import pyplot in Cantor. I
>>>   am using Python 2.7.5 and matplotlib 1.3.0. The error is below:
>>>
>>>   import matplotlib.pyplot as plt
>>>   Traceback (most recent call last):
>>> File "", line 1, in 
>>> File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py",
>>>   line 98, in 
>>>   _backend_mod, new_figure_manager, draw_if_interactive, _show =
>>>   pylab_setup()
>>> File
>>>   "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py",
>>>   line 25, in pylab_setup
>>>   globals(),locals(),[backend_name])
>>> File
>>>   
>>> "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py",
>>>   line 19, in 
>>>   _decref = ctypes.pythonapi.Py_DecRef
>>> File "/usr/lib64/python2.7/ctypes/__init__.py", line 378, in
>>>   __getattr__
>>>   func = self.__getitem__(name)
>>> File "/usr/lib64/python2.7/ctypes/__init__.py", line 383, in
>>>   __getitem__
>>>   func = self._FuncPtr((name_or_ordinal, self))
>>>   AttributeError: kde/bin/cantor: undefined symbol: Py_DecRef
>>>
>>>   Well, anyone have any idea about how can I fix it?
>>>
>>>   Thank you,
>>>
>>>
>>> My only guess is that there is some sort of linking/build error.
>>> Perhaps the python-qt4 library was built and linked against a
>>> different python on your system?
>>>
>>> Cheers!
>>> Ben Root
>> Really I don't know. I will question it to matplotlib maintainer.
>>
>> The pyplot import in python iteractive mode (python terminal) is
>> working properly. I can run a matplotlib example using pyplot in this
>> mode. I get the error just in Python/C API.
>>
>
> It looks like it's failing inside of ctypes.  How are you including
> Python in your application.  Perhaps the ctypes module (which is a C
> extension module that comes in the Python standard library) is not being
> included or found.  I'm at a bit of a loss, but this seems like more of
> a general "embedding python in a C application" question, which you
> might try asking on the Python mailing list.
>
> Mike
>

I am using my code with several python modules and I can not get any 
error. I tried scipy, numpy, Spade, matplotlib... interesting, I don't 
get error when I import matplotlib.animation.

You can see reports of several uses of python commands and modules in 
my software accessing my blog in 
http://blog.filipesaraiva.info/?tag=gsoc2013-python-backend

Interesting, I used with success pyplot in the first version of this 
backend, last year. The blogpost have a picture of this 
http://blog.filipesaraiva.info/?p=779.

Well, I ask to another KDE developers for test my code and verify if 
the pyplot error that I am getting is reproducible.

Thank you,

--
Filipe Saraiva
http://filipesaraiva.info/

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel