【发布时间】:2017-01-08 09:28:02
【问题描述】:
我遇到了一个问题,即通过 setuptools 安装到 python anaconda 的软件包将 shebangs 重写到错误的位置。
我已经安装了 python anaconda 和 setuptools 包。我已经验证 python 可执行文件指向 anaconda 可执行文件
grant@DevBox2:/opt/content-analysis$ which python
/opt/anaconda2/bin/python
我需要为我的 anaconda python 安装一个自定义包。它只能通过 setuptools 安装。它包括一个命令行可执行文件,顶部有以下 shebang:
#!/usr/bin/env python
使用以下命令安装包后:
sudo python setup.py install --prefix=/opt/anaconda2
可执行文件 (content_analysis) 出现在路径可到达的位置。但是顶部的shebang已经被机器上默认python安装的硬编码位置替换了。
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
我已阅读以下关于 setuptools 覆盖 shebangs 的帖子 here。该帖子建议$PATH 中的第一个python 可执行文件应该 是setuptools 用来替换shebang 的可执行文件。然而,这对我来说似乎并非如此。
注意:我无法将 python 可执行文件硬编码到我的python setup.py build 命令中。我需要一个部署解决方案,它可以在任何将 conda 安装为$PATH 中的第一个 python 的环境中工作
【问题讨论】:
标签: python anaconda setuptools conda