I'm having an issue where packages installed via setuptools to python anaconda have shebangs rewritten to the wrong location.
I have installed python anaconda and setuptools package. I have verified that python executable points to the anaconda executable
grant@DevBox2:/opt/content-analysis$ which python
/opt/anaconda2/bin/python
I need to install a custom package to my anaconda python. It is only installable via setuptools. It includes an command-line executable with the following shebang at the top:
#!/usr/bin/env python
After installing the package with the following command:
sudo python setup.py install --prefix=/opt/anaconda2
The executable (content_analysis) appears in a path reachable location. But the shebang at the top has been replaced with the hard coded location of the default python install on the machine.
grant@DevBox2:/opt/content-analysis$ which content_analysis
/opt/anaconda2/bin/content_analysis
grant@DevBox2:/opt/content-analysis$ sed -n 1,2p /opt/anaconda2/bin/content_analysis
#!/usr/local/bin/python
I have read the following post here concerning setuptools' overwrite of shebangs. The post suggests that the python executable that is first in the $PATH
should be the executable that setuptools uses to replace the shebang. This doesn't seem to be the case for me however.
Note: I cannot hardcode a python executable into my python setup.py build
command. I need a deployment solution that will work in any environment that has conda installed as the first python in the $PATH