Repository: EleutherAI/lm-evaluation-harness
Issue: BUG: editable install failing
Root cause: Environment Incompatibility

Hi There, when I follow the instructions in this library's [README](https://github.com/EleutherAI/lm-evaluation-harness?tab=readme-ov-file#install) with a `pip install -e .`, it fails with the following output. When I remove the `-e` flag (as suggested elsewhere for another library), it works. However, given I intend to contribute back to library, it would be great for me to have editable install. The versions of my Python and pip are 3.11.2 and 24 respectively.

```bash
Building wheels for collected packages: lm-eval
  Building editable for lm-eval (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building editable for lm-eval (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      /usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
        warnings.warn(msg, _BetaConfiguration)
      /usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pycodestyle.py:111: FutureWarning: Possible nested set at position 1
        EXTRANEOUS_WHITESPACE_REGEX = re.compile(r'[[({] | []}),;:]')
      running editable_wheel
      creating /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info
      writing /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/PKG-INFO
      writing dependency_links to /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/dependency_links.txt
      writing entry points to /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/entry_points.txt
      writing requirements to /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/requires.txt
      writing top-level names to /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/top_level.txt
      writing manifest file '/private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/SOURCES.txt'
      adding license file 'LICENSE.md'
      writing manifest file '/private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval.egg-info/SOURCES.txt'
      creating '/private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval-0.4.2.dist-info'
      creating /private/var/folders/f3/vw4cz6js4zn8fgktmxrfmjsc0000gn/T/pip-wheel-izx3gw8f/.tmp-tqgm20aq/lm_eval-0.4.2.dist-info/WHEEL
      Traceback (most recent call last):
        File "/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/editable_wheel.py", line 140, in run
          self._create_wheel_file(bdist_wheel)
        File "/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/editable_wheel.py", line 311, in _create_wheel_file
          from wheel.wheelfile import WheelFile
      ModuleNotFoundError: No module named 'wheel.wheelfile'
      error: Support for editable installs via PEP 660 was recently introduced
      in `setuptools`. If you are seeing this error, please report to:

      https://github.com/pypa/setuptools/issues

      Meanwhile you can try the legacy behavior by setting an
      environment variable and trying to install again:

      SETUPTOOLS_ENABLE_FEATURES="legacy-editable"
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building editable for lm-eval
Failed to build lm-eval
ERROR: Could not build wheels for lm-eval, which is required to install pyproject.toml-based projects
```

Have you tried updating `setuptools` and `wheel` packages before trying editable install? Also you can try suggested
```
you can try the legacy behavior by setting an
      environment variable and trying to install again:

      SETUPTOOLS_ENABLE_FEATURES="legacy-editable"
      ```
      
`/usr/local/Cellar`, so maybe its macos, and you may want to google same errors elsewhere.
Also, if you are trying to install into systemwide environment, you ma want to create something more local with virtualenv or others and use it for installation

It sounds like the recommended fix solved the issue, so closing this! Thanks @LSinev for chiming in with the solution :)