Re: [Numpy-discussion] [matplotlib-devel] Matplotlib and latest numpy

On Sat, Jul 19, 2008 at 01:25:51AM +0200, Gael Varoquaux wrote:
Am I wrong, or does matploib not build with current numpy svn?
OK, Fernando told me that matplotlib builds fine with latest numpy on his box so Ienquired a bit more. The problem is that the build of matplotlib tries to include a header file that is generated automatically during the build of numpy (__multiarray_api.h). If you install numpy using "python setup.py install", this header file is inlcuded in the install. However I used "python setupegg.py develop" to install numpy. As a result the header file does not get put in the include directory. I guess this is thus a bug in the setupegg.py of numpy, but my knowledge of setuptools is way to low to be able to fix that.
Cheers,
Gaël

On Fri, Jul 18, 2008 at 18:40, Gael Varoquaux gael.varoquaux@normalesup.org wrote:
On Sat, Jul 19, 2008 at 01:25:51AM +0200, Gael Varoquaux wrote:
Am I wrong, or does matploib not build with current numpy svn?
OK, Fernando told me that matplotlib builds fine with latest numpy on his box so Ienquired a bit more. The problem is that the build of matplotlib tries to include a header file that is generated automatically during the build of numpy (__multiarray_api.h). If you install numpy using "python setup.py install", this header file is inlcuded in the install. However I used "python setupegg.py develop" to install numpy. As a result the header file does not get put in the include directory. I guess this is thus a bug in the setupegg.py of numpy, but my knowledge of setuptools is way to low to be able to fix that.
It's not a setuptools issue at all. "build_ext --inplace" just doesn't install header files.

On Fri, Jul 18, 2008 at 5:44 PM, Robert Kern robert.kern@gmail.com wrote:
On Fri, Jul 18, 2008 at 18:40, Gael Varoquaux gael.varoquaux@normalesup.org wrote:
On Sat, Jul 19, 2008 at 01:25:51AM +0200, Gael Varoquaux wrote:
Am I wrong, or does matploib not build with current numpy svn?
OK, Fernando told me that matplotlib builds fine with latest numpy on his box so Ienquired a bit more. The problem is that the build of matplotlib tries to include a header file that is generated automatically during the build of numpy (__multiarray_api.h). If you install numpy using "python setup.py install", this header file is inlcuded in the install. However I used "python setupegg.py develop" to install numpy. As a result the header file does not get put in the include directory. I guess this is thus a bug in the setupegg.py of numpy, but my knowledge of setuptools is way to low to be able to fix that.
It's not a setuptools issue at all. "build_ext --inplace" just doesn't install header files.
So is there a fix for this problem?
Chuck

On Fri, Jul 18, 2008 at 06:44:21PM -0500, Robert Kern wrote:
It's not a setuptools issue at all. "build_ext --inplace" just doesn't install header files.
Does that mean that python setup.py develop should be banned for numpy? If so I consider it a setuptools issue: one more caveat to learn about setuptools, ie the fact that setuptools develop is not reliable and can lead to interested bugs without conplaining at all.
I am just frustated of loosing a significant amount of my time discovering the behavior of the langage introduced by setuptools that keeps popup all the time.
Gaël

On Fri, Jul 18, 2008 at 18:49, Gael Varoquaux gael.varoquaux@normalesup.org wrote:
On Fri, Jul 18, 2008 at 06:44:21PM -0500, Robert Kern wrote:
It's not a setuptools issue at all. "build_ext --inplace" just doesn't install header files.
Does that mean that python setup.py develop should be banned for numpy?
No.
If so I consider it a setuptools issue: one more caveat to learn about setuptools, ie the fact that setuptools develop is not reliable and can lead to interested bugs without conplaining at all.
IT'S NOT A SETUPTOOLS ISSUE. If you had done a "python setup.py build_ext --inplace" and then set your PYTHONPATH manually, you would have the same problem. Stop blaming setuptools for every little problem. Building inplace is not a setuptools feature. It's a distutils feature. The fact that we have header files in the package is a numpy feature.

On Fri, Jul 18, 2008 at 5:53 PM, Robert Kern robert.kern@gmail.com wrote:
On Fri, Jul 18, 2008 at 18:49, Gael Varoquaux gael.varoquaux@normalesup.org wrote:
On Fri, Jul 18, 2008 at 06:44:21PM -0500, Robert Kern wrote:
It's not a setuptools issue at all. "build_ext --inplace" just doesn't install header files.
Does that mean that python setup.py develop should be banned for numpy?
No.
If so I consider it a setuptools issue: one more caveat to learn about setuptools, ie the fact that setuptools develop is not reliable and can lead to interested bugs without conplaining at all.
IT'S NOT A SETUPTOOLS ISSUE. If you had done a "python setup.py build_ext --inplace" and then set your PYTHONPATH manually, you would have the same problem. Stop blaming setuptools for every little problem. Building inplace is not a setuptools feature. It's a distutils feature. The fact that we have header files in the package is a numpy feature.
So what was Gael doing wrong? Was it the develop on this line?
python setupegg.py develop
I'm asking because of the upcoming release. I never use setupegg.py and I don't know what is going on here.
Chuck

On Fri, Jul 18, 2008 at 19:02, Charles R Harris charlesr.harris@gmail.com wrote:
On Fri, Jul 18, 2008 at 5:53 PM, Robert Kern robert.kern@gmail.com wrote:
On Fri, Jul 18, 2008 at 18:49, Gael Varoquaux gael.varoquaux@normalesup.org wrote:
On Fri, Jul 18, 2008 at 06:44:21PM -0500, Robert Kern wrote:
It's not a setuptools issue at all. "build_ext --inplace" just doesn't install header files.
Does that mean that python setup.py develop should be banned for numpy?
No.
If so I consider it a setuptools issue: one more caveat to learn about setuptools, ie the fact that setuptools develop is not reliable and can lead to interested bugs without conplaining at all.
IT'S NOT A SETUPTOOLS ISSUE. If you had done a "python setup.py build_ext --inplace" and then set your PYTHONPATH manually, you would have the same problem. Stop blaming setuptools for every little problem. Building inplace is not a setuptools feature. It's a distutils feature. The fact that we have header files in the package is a numpy feature.
So what was Gael doing wrong? Was it the develop on this line?
python setupegg.py develop
I'm asking because of the upcoming release. I never use setupegg.py and I don't know what is going on here.
The code generation logic in numpy does not know anything about "build_ext --inplace" (which is a distutils feature that develop invokes). That's it. This problem has always existed for all versions of numpy whether you use setuptools or not. The logic in numpy/core/setup.py that places the generated files needs to be fixed if you want to fix this issue. I'm testing out a fix right now.

On Fri, Jul 18, 2008 at 19:07, Robert Kern robert.kern@gmail.com wrote:
The code generation logic in numpy does not know anything about "build_ext --inplace" (which is a distutils feature that develop invokes). That's it. This problem has always existed for all versions of numpy whether you use setuptools or not. The logic in numpy/core/setup.py that places the generated files needs to be fixed if you want to fix this issue. I'm testing out a fix right now.
Fixed in r5452.

On Fri, Jul 18, 2008 at 08:14:00PM -0500, Robert Kern wrote:
The code generation logic in numpy does not know anything about "build_ext --inplace" (which is a distutils feature that develop invokes). That's it. This problem has always existed for all versions of numpy whether you use setuptools or not. The logic in numpy/core/setup.py that places the generated files needs to be fixed if you want to fix this issue. I'm testing out a fix right now.
Fixed in r5452.
Thanks a lot Rob, you rock.
Gaël

On Fri, Jul 18, 2008 at 7:14 PM, Robert Kern robert.kern@gmail.com wrote:
On Fri, Jul 18, 2008 at 19:07, Robert Kern robert.kern@gmail.com wrote:
The code generation logic in numpy does not know anything about "build_ext --inplace" (which is a distutils feature that develop invokes). That's it. This problem has always existed for all versions of numpy whether you use setuptools or not. The logic in numpy/core/setup.py that places the generated files needs to be fixed if you want to fix this issue. I'm testing out a fix right now.
Fixed in r5452.
Great...Chuck
participants (3)
-
Charles R Harris
-
Gael Varoquaux
-
Robert Kern