Skip to content

File "setup.py" not found for legacy project  #10107

@kzidane

Description

@kzidane

Description

pip fails to install when setup.py is missing, even though setup.py is not required.

$ pip --version
pip 21.1.3 from /home/kzidane/.virtualenvs/temp/lib/python3.9/site-packages/pip (python 3.9)

$ tree
.
├── setup.cfg
└── src
    └── project
        └── __init__.py

2 directories, 2 files

$ cat setup.cfg
cat setup.cfg
[metadata]
name = project
version = 1.0.0
[options]
package_dir =
    = src
packages = find:
python_requires = >=3.6
[options.packages.find]
where = src

$ pip install -e .
Obtaining file:///tmp/project
ERROR: File "setup.py" not found for legacy project file:///tmp/project.

If I downgrade to pip 21.1.2, installation succeds:

$ pip install 'pip<21.1.3'
Collecting pip<21.1.3
  Using cached pip-21.1.2-py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.1.3
    Uninstalling pip-21.1.3:
      Successfully uninstalled pip-21.1.3
Successfully installed pip-21.1.2

$ pip --version
pip 21.1.2 from /home/kzidane/.virtualenvs/temp/lib/python3.9/site-packages/pip (python 3.9)

$ pip install -e .
Obtaining file:///tmp/project
Installing collected packages: project
  Running setup.py develop for project
Successfully installed project-1.0.0
WARNING: You are using pip version 21.1.2; however, version 21.1.3 is available.
You should consider upgrading via the '/home/kzidane/.virtualenvs/temp/bin/python -m pip install --upgrade pip' command.

$ pip show project
Name: project
Version: 1.0.0
Summary: UNKNOWN
Home-page: UNKNOWN
Author: None
Author-email: None
License: UNKNOWN
Location: /tmp/project/src
Requires:
Required-by:

Expected behavior

Installation succeeds.

pip version

21.1.3

Python version

3.9.5

OS

Ubuntu 21.04

How to Reproduce

  1. Create a package without setup.py
  2. Try installing this package
  3. Installation fails with File "setup.py" not found for legacy project

Output

Obtaining file:///tmp/project
ERROR: File "setup.py" not found for legacy project file:///tmp/project.

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugA confirmed bug or unintended behavior

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions