pypa / pypa/setuptools

'develop' install with reconfiured build directories

Open
#2,479 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2.9k
Forks
1.4k
Avg merge
1d 1h
Merged PRs (30d)
1

Description

Hi!
I tried to use python setup.py develop and pip install --editable . to install in my environment a package I am developing and I have failed. The error I am getting is this:

Can't get a consistent path to setup script from installation directory

I have managed to link this problem to the changed build directories in setup.cfg file:

[egg_info]
egg_base = ./build

[sdist]
dist_dir = ./build/dist

[bdist_wheel]
bdist_dir = ./build/_wheel
dist_dir = ./build/dist

Without this three sections built artefacts and scripts are linked correctly to the environment directories. I use this configuration because I do not like the build directories cluttering my project root (although now, in Python 3.9 and setuptools 51.0.0, I find fewer build directories than before).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing both python setup.py develop and pip install --editable . with the reported setup.cfg [egg_info], [sdist], and [bdist_wheel] directories. Trace how these settings determine the installation path; done means editable installation succeeds while keeping build artifacts outside the project root.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.