Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implicit dependency on setuptools #141

Open
jaraco opened this issue Mar 29, 2020 · 1 comment
Open

Implicit dependency on setuptools #141

jaraco opened this issue Mar 29, 2020 · 1 comment

Comments

@jaraco
Copy link
Contributor

jaraco commented Mar 29, 2020

This project has an implicit dependency on setuptools. Attempting to install it from source using pip fails:

$ pip install --no-binary appdirs appdirs
Collecting appdirs
  Using cached appdirs-1.4.3.tar.gz (12 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/pip-install-_mxp98er/appdirs/setup.py'"'"'; __file__='"'"'/private/var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/pip-install-_mxp98er/appdirs/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/pip-install-_mxp98er/appdirs/pip-egg-info
         cwd: /private/var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/pip-install-_mxp98er/appdirs/
    Complete output (3 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'setuptools'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

This project should use a pyproject.toml to declare its build dependency.

@McSinyx
Copy link

McSinyx commented Mar 29, 2020

Is it time to make setuptools and wheel hard runtime dependencies for pip? Otherwise I'm pretty sure that appdirs can be built only with the standard library distutils (which pip wheel doesn't have an option to choose), hence allows it to be built on more legacy/obsolete systems. I am unaware of any pyproject.toml declaration that allow falling-back of requirements as well as build-backend however. Furthermore, IIRC PEP 518 advises that

build tools are expected to use [setuptools and wheel as build-system requirements] as their default semantics when a pyproject.toml file is not present.

More importantly, this project is nearly unmaintained (GH-79). I suggest patching downstream in case of urgency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants