pypa / pypa/setuptools

Running setup.py build bdist_wheel results in inconsistent hashbangs

Open
#994 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Pulling from HearthSim/UnityPack#33: When building the package with ./setup.py build bdist_wheel, the hashbang is rewritten to the full path of the python executing the script. If that's a virtualenv python, it'd be set to eg. /home/adys/.local/share/virtualenvs/....

If I do setup.py build bdist_wheel upload --sign, it distributes that hashbang and doesn't rewrite it upon installation. This led to bad hashbangs being distributed on pypi.

Accoriding to Yhg1s in #python, running just setup.py bdist_wheel without build beforehand led to a correct hashbang rewrite.

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 the two build commands in the issue: ./setup.py build bdist_wheel and setup.py bdist_wheel without build beforehand. Inspect the hashbang in the resulting wheel and after installation. Done means the build does not distribute a hashbang containing the virtualenv's full Python path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.