question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

PDM projects not installing with setuptools 62.0.0

See original GitHub issue
  • [☑️ ] I have searched the issue tracker and believe that this is not a duplicate.

Make sure you run commands with -v flag before pasting the output.

Steps to reproduce

Run “pdm install” in any pdm project

Actual behavior

> pdm install -v
All packages are synced to date, nothing to do.

Installing the project as an editable package...
Preparing isolated env for PEP 517 build...
Building wheel for file:///cspace/pdm-test#egg=pdm-test
Collecting setuptools<60.0.0
  Using cached setuptools-59.8.0-py3-none-any.whl (952 kB)
Installing collected packages: setuptools
Successfully installed setuptools-59.8.0
WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available.
You should consider upgrading via the '/usr/bin/python3.7m -m pip install --upgrade pip' command.
Collecting setuptools_pep660
  Using cached setuptools_pep660-0.1.2-py3-none-any.whl (4.1 kB)
Collecting wheel
  Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting setuptools>=42
  Using cached setuptools-62.0.0-py3-none-any.whl (1.1 MB)
Installing collected packages: wheel, setuptools, setuptools_pep660
Successfully installed setuptools-62.0.0 setuptools_pep660-0.1.2 wheel-0.37.1
WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available.
You should consider upgrading via the '/usr/bin/python3.7m -m pip install --upgrade pip' command.
running editable_wheel
running dist_info
creating /tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info
writing /tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/PKG-INFO
writing dependency_links to /tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/dependency_links.txt
writing requirements to /tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/requires.txt
writing top-level names to /tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/top_level.txt
writing manifest file '/tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/SOURCES.txt'
/tmp/pdm-build-env-88hq5vaw-shared/lib/python3.7/site-packages/setuptools/config/pyprojecttoml.py:102: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
  warnings.warn(msg, _ExperimentalProjectMetadata)
package init file 'src/pdm-test/__init__.py' not found (or not a regular file)
reading manifest file '/tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/SOURCES.txt'
writing manifest file '/tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.egg-info/SOURCES.txt'
creating '/tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test-0.1.0.dist-info'
running build_ext
error: [Errno 2] No such file or directory: '/tmp/pdm-wheel-9nrb86f7/tmp73a4wsta/pdm_test.dist-info/WHEEL'
Install pdm-test 0.1.0 failed
Traceback (most recent call last):
  File "/home/ubuntu/.local/bin/pdm", line 8, in <module>
    sys.exit(main())
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/core.py", line 233, in main
    return Core().main(args)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/core.py", line 168, in main
    raise cast(Exception, err).with_traceback(traceback)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/core.py", line 163, in main
    f(options.project, options)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/cli/commands/install.py", line 56, in handle
    dry_run=options.dry_run,
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/cli/actions.py", line 190, in do_sync
    handler.synchronize()
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/installers/synchronizers.py", line 367, in synchronize
    self.install_candidate(self_key)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/installers/synchronizers.py", line 185, in install_candidate
    self.manager.install(can)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/installers/manager.py", line 39, in install
    installer(prepared.build(), self.environment, prepared.direct_url())
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/models/candidates.py", line 332, in build
    self.wheel = builder.build(build_dir, metadata_directory=self._metadata_dir)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/builders/editable.py", line 57, in build
    return self.build(out_dir, config_settings, metadata_directory)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/builders/editable.py", line 53, in build
    out_dir, config_settings, metadata_directory
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pep517/wrappers.py", line 264, in build_editable
    'metadata_directory': metadata_directory,
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pep517/wrappers.py", line 325, in _call_hook
    extra_environ=extra_environ
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/builders/base.py", line 238, in subprocess_runner
    return log_subprocessor(cmd, cwd, extra_environ=env)
  File "/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pdm/builders/base.py", line 88, in log_subprocessor
    ) from None
pdm.exceptions.BuildError: Call command ['/usr/bin/python3.7m', '/home/ubuntu/.local/pipx/venvs/pdm/lib/python3.7/site-packages/pep517/in_process/_in_process.py', 'build_editable', '/tmp/tmpsdo9yc2z'] return non-zero status(1).

Expected behavior

For the package to install successfully

Environment Information

> pdm info && pdm info --env
PDM version:        1.13.6
Python Interpreter: /usr/bin/python3.7m (3.7)
Project Root:       /home/ubuntu/pdm-test
Project Packages:   /home/ubuntu/pdm-test/__pypackages__/3.7
{
  "implementation_name": "cpython",
  "implementation_version": "3.7.5",
  "os_name": "posix",
  "platform_machine": "x86_64",
  "platform_release": "5.4.0-1071-aws",
  "platform_system": "Linux",
  "platform_version": "#76~18.04.1-Ubuntu SMP Mon Mar 28 17:49:57 UTC 2022",
  "python_full_version": "3.7.5",
  "platform_python_implementation": "CPython",
  "python_version": "3.7",
  "sys_platform": "linux"
}

Extra Information

I was able to replicate this with several projects, even a simple project that only managed numpy

I set the setuptools version to be <60.0.0 in both the dependencies and under build-system requires, yet you can see it uses the latest version of setuptools

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:8

github_iconTop GitHub Comments

1reaction
frostmingcommented, Apr 6, 2022

so I have to set the upper bound to <61 for the fallback backend(it is coded in PDM so users are not able to control the version to use)

I was curious how to see this and couldn’t find it. Would you mind linking to the change?

https://github.com/frostming/setuptools_pep660/commit/41edddb12f6b4281bc267ea8d3e9f5c355dffcd3

1reaction
frostmingcommented, Apr 5, 2022

no need to change pdm, it was fixed in the backend and it will be pulled in if you rerun the install

在 2022年4月5日,03:03,iamthad @.***> 写道:

setuptools are not going to support editable installs soon so I have to set the upper bound to <61 for the fallback backend(it is coded in PDM so users are not able to control the version to use). Now if you rerun the command it should be fine. Closing this now.

Have you had a chance to push this change yet? I do not see it on main.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.

Read more comments on GitHub >

github_iconTop Results From Across the Web

ERROR: Can not execute `setup.py` since setuptools ... - GitHub
I am new to python and I am trying to install the email package, but it says "setuptools is not available in the...
Read more >
How can I make setuptools install a package that's not on PyPI?
The key is to tell easy_install where the package can be downloaded. In this particular case, it can be found at the url ......
Read more >
How to Package Python dependencies with PIP setuptools
Learn step by step how to package a Python project with PIP setuptools and what are the alternatives out there for Python package ......
Read more >
dev-python/setuptools Package Details - Gentoo Browse
Gentoo Linux package details for dev-python/setuptools: ... dev-python / incremental : Incremental is a small library that versions your Python projects.
Read more >
Easy Install - setuptools 65.6.3.post20221220 documentation
Easy Install is a python module ( easy_install ) bundled with setuptools that lets you automatically download, build, install, and manage Python packages....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found