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

pip-compile fails with version settings in setup.cfg #1535

Closed
Thomasillo opened this issue Nov 12, 2021 · 6 comments
Closed

pip-compile fails with version settings in setup.cfg #1535

Thomasillo opened this issue Nov 12, 2021 · 6 comments
Labels
needs reproduce Need to reproduce an issue

Comments

@Thomasillo
Copy link

Environment Versions

  1. OS Type Windows10
  2. Python version: 3.7.12
  3. pip version: 21.3.1
  4. pip-tools version: 6.4.0

Steps to replicate

# setup.cfg
[metadata]
name=Thing
version = attr: Thing.__version__
[options]
install_requires = 
    requests
#setup.py
import setuptools
setuptools.setup()
# Thing/__init__.py
__version__ = "1.0.0"

Then run

$ pip-compile
Traceback (most recent call last):
  File "/home/tisele/.local/miniconda3/envs/TEST/bin/pip-compile", line 8, in <module>
    sys.exit(cli())
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/piptools/scripts/compile.py", line 408, in cli
    dist = meta.load(os.path.dirname(os.path.abspath(src_file)))
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/meta.py", line 71, in load
    path = Path(build_as_zip(builder))
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/meta.py", line 58, in build_as_zip
    builder(dest=out_dir)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/meta.py", line 53, in build
    _prep_meta(hooks, env, dest)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/meta.py", line 28, in _prep_meta
    reqs = hooks.get_requires_for_build_wheel({})
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/wrappers.py", line 173, in get_requires_for_build_wheel
    'config_settings': config_settings
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/wrappers.py", line 325, in _call_hook
    extra_environ=extra_environ
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/wrappers.py", line 75, in quiet_subprocess_runner
    check_output(cmd, cwd=cwd, env=env, stderr=STDOUT)
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/subprocess.py", line 411, in check_output
    **kwargs).stdout
  File "/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/home/tisele/.local/miniconda3/envs/TEST/bin/python3.7', '/home/tisele/.local/miniconda3/envs/TEST/lib/python3.7/site-packages/pep517/in_process/_in_process.py', 'get_requires_for_build_wheel', '/tmp/tmpuaxtfj91']' returned non-zero exit status 1.

Without the line
version = attr: Thing.__version__ it works.

Expected result

No error, a valid requirements.txt file

@atugushev
Copy link
Member

Could you try pip install -e .?

@Thomasillo
Copy link
Author

Thomasillo commented Nov 12, 2021 via email

@averms
Copy link

averms commented Nov 30, 2021

I'm also using setup.cfg in my projects but I can't reproduce this. I tried to make something exactly like your project. This is the tree output:

$ tree -L 2
.
├── python_packages
│   ├── bin
│   ├── lib
│   └── pyvenv.cfg
├── setup.cfg
├── setup.py
└── Thing
    └── __init__.py

4 directories, 4 files

I'm using Python 3.9 with the following packages:

Package    Version
---------- -------
click      8.0.3
pep517     0.12.0
pip        21.3.1
pip-tools  6.4.0
setuptools 59.2.0
tomli      1.2.2
wheel      0.37.0

@AndydeCleyre
Copy link
Contributor

I'm also unable to reproduce this, but I'm only testing with linux.

Are you still able to reproduce, @Thomasillo? With either those versions, or updated pip-tools?

@AndydeCleyre
Copy link
Contributor

@Thomasillo

Hello! It's been a while since you first encountered this. Are you still able to reproduce the problem?

If not, it may be time to close this one.

Thanks!

@AndydeCleyre
Copy link
Contributor

@Thomasillo

Please comment here with an update if you can still reproduce this, and I'll re-open, but for now I'm going to close this.

Thanks!

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

No branches or pull requests

4 participants