Description
Original ticket http://projects.scipy.org/numpy/ticket/860 on 2008-07-24 by trac user phsilva, assigned to @dmcooke.
Numpy 1.1.0 works well with easy_install if called from command line, like:
easy_install numpy==1.1.0
BUT, if I declare numpy==1.1.0 as a dependency in my setup.py setup() function, then I got this error (actually I get the same errors with Numpy 1.0.4):
Traceback (most recent call last):
File "setup.py", line 116, in
platforms = chimera_platform)
File "/usr/lib/python2.5/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.5/distutils/dist.py", line 974, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.5/distutils/dist.py", line 994, in run_command
cmd_obj.run()
File "/usr/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg/setuptools/command/develop.py", line 27, in run
File "/usr/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg/setuptools/command/develop.py", line 102, in install_for_development
File "/usr/lib/python2.5/site-packages/easy_install.py", line 519, in process_distribution
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 522, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 758, in best_match
return self.obtain(req, installer) # try and download/install
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 770, in obtain
return installer(requirement)
File "/usr/lib/python2.5/site-packages/easy_install.py", line 446, in easy_install
File "/usr/lib/python2.5/site-packages/easy_install.py", line 476, in install_item
File "/usr/lib/python2.5/site-packages/easy_install.py", line 655, in install_eggs
File "/usr/lib/python2.5/site-packages/easy_install.py", line 930, in build_and_install
File "/usr/lib/python2.5/site-packages/easy_install.py", line 919, in run_setup
File "/usr/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg/setuptools/sandbox.py", line 27, in run_setup
File "/usr/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg/setuptools/sandbox.py", line 63, in run
File "/usr/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg/setuptools/sandbox.py", line 29, in
File "setup.py", line 96, in
"numpy == 1.1.0",
File "setup.py", line 89, in setup_package
"Elixir >= 0.5.2",
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/core.py", line 150, in setup
File "setup.py", line 56, in configuration
# setup
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 839, in add_subpackage
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 822, in get_subpackage
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 769, in _get_configuration_from_setup_py
File "/home/henrique/work/chimera/chimera/setup.py", line 9, in configuration
# as published by the Free Software Foundation; either version 2
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 839, in add_subpackage
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 822, in get_subpackage
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 769, in _get_configuration_from_setup_py
File "/home/henrique/work/chimera/chimera/setup.py", line 223, in configuration
File "/tmp/easy_install-kOtWpP/numpy-1.1.0/numpy/distutils/misc_util.py", line 1039, in add_include_dirs
AttributeError: 'NoneType' object has no attribute 'extend'
This seems similar to issue #679. Numpy distutils was expecting something which setuptools distutils (only in dependency mode) overrides and throw away.
Follows a patch/hack against 1.1.0 that worked to me (for 1.0.4 it's just the same hack on different chunck).
What the plan for distutils based installers (like setuptools) when numscons became the default? I'm not going to integrate my package in distribution yet, so I'm using easy_install which seems to be the easiest solution available. Any other idea about how to distribute Numpy? I was thinking about try to create an egg, but then I'll need to have one for each different setup (distro/arch) that I would like to use, right?
Thanks a lot, and congrats for the great work with Numpy!