setuptools doesn't replace shebang from build directory when installing
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 1.4k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
- Pip version: 8.1.1
- Python version: 2.6
- Operating System: CentOS 6
Description:
I have a small python module with some scripts that I run in a virtual environment. My Makefile looks like this:
default: build
.DEFAULT:
./setup.py $@
build:
./setup.py build
/path/to/venv/bin/activate:
virtualenv --system-site-packages /path/to/venv
install: /path/to/venv/bin/activate
/path/to/venv/bin/pip install .
Now if I have a fresh install and run make install everything works great, and at the top of all of my scripts in $VENV/bin I have the following shebang:
#!/path/to/venv/bin/python
but if I first run make build and then make install then I get the system python in the shebang:
#!/usr/bin/python
I guess I would have expected the setup process to check and replace the shebang to the virtual environment's python.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with the mentioned Makefile, setup.py, and /path/to/venv/bin/pip install .: compare a fresh install with one after make build. Inspect the build and install entry points that handle script shebangs, then verify that installed scripts retain the virtual environment's Python path after both workflows.
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