Delete ez_setup.py
State: closed

ez_setup.py is few years out of date, we should stop distributing it.

Up to date versions of Python 2 and 3 provide setuptools and pip out of the box `python -m ensurepip --upgrade`. For other Python versions, we can simply point users to the up to date instructions at https://packaging.python.org/en/latest/installing.html#requirements-for-installing-packages.


Labels:
name: Build
description: Library building on various platforms
name: Clean

Comments:
`ez_setup`is imported into `setup.py`, so needs to be addressed there as well

Hi @jreback. I missed that, I'll fix it. Question, do you still want to support a configuration with no setuptools? Perhaps, it's better if I just remove the bootstrap and leave _setuptools vs distutils_ for later.

yes just remove the bootstrap loader for now
though technically we don't need setuptools in any event

@jreback re `pkg_resources`: originally I thought that it was used only in the try block to check if the right version (ancient) of setuptools is installed. Now re-reading `setup.py` I noticed that is actually needed in the build_ext mechanism to obtain the location of numpy headers. Therefore `setup.py` does not work without setuptools at all. To test it I made a virtualenv and removed setuptools. `setup.py`still ends up running `numpy_incl = pkg_resources.resource_filename('numpy', 'core/include')`and fails.

tl;dr: despite what it says `setup.py` needs setuptools, therefore the logic behind `_have_setuptools` can be safely removed. 

what happens with this code if you don't have `setuptools`? does it completely bomb?
what if you didn't have it before?

I reckon without setuptools setup.py bombs completely since commit 28e2a383f4. pkg_resources is distributed with setuptools. 

did this work before if you DIDN't have `setuptools`. We don't have it officially in requirements.

@jreback no, it is not possible to install pandas without setuptools, despite what official requirements say (and I guess it has been like that for a while). Do this

```
$ virtualenv pandas-test
$ source pandas-test/bin/activate
$ pip install pandas # this is a way to quickly get the requirements
$ pip uninstall pandas
$ pip install cython # required to build from master
$ pip uninstall setuptools
$ cd pandas-test
$ git clone git@github.com:pydata/pandas.git
$ cd pandas
$ python setup.py build
```

and  you'll get

```
running build
running build_py
copying pandas/version.py -> build/lib.macosx-10.10-x86_64-2.7/pandas
running build_ext
Traceback (most recent call last):
  File "setup.py", line 631, in <module>
    **setuptools_kwargs)
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/build.py", line 127, in run
    self.run_command(cmd_name)
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/andreabedini/pandas-test/lib/python2.7/site-packages/Cython/Distutils/build_ext.py", line 159, in run
    _build_ext.build_ext.run(self)
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/build_ext.py", line 337, in run
    self.build_extensions()
  File "setup.py", line 376, in build_extensions
    build_ext.build_extensions(self)
  File "setup.py", line 94, in build_extensions
    numpy_incl = pkg_resources.resource_filename('numpy', 'core/include')
NameError: global name 'pkg_resources' is not defined
```

can you rebase this on master and ping when green. We changed the versioning and want to see if that has any efffect. thxs.

all green @jreback. Note that Travis has a working python, therefore we will never test against a broken python (missing setuptools or pip).

actually I should update `./doc/source/install.rst` and add setuptools to the dependencies ...

closed by https://github.com/pydata/pandas/commit/fc08800ae71a18f2d5fa581c1d1713ebc3fbb908

thanks!