conda 托管环境中的 Shebang

Shebangs in conda managed environments

我正在尝试用 Hy 编写程序,运行 按照文档中 Quickstart page 的说明编写程序。

所以我根据文档使用 GitHub 存储库中的 pip 安装了 Hy,然后使用 chmod +x myfile.hy 向文件添加了可执行权限。

为了管理我的 Python 环境,我使用 Anaconda 的 conda,而不是 virtualenv。因此 shebang #! /usr/bin/env hy 对我不起作用,因为 conda envs 位于不同的目录中。从 conda info --envs 我看到他们的目录是

myenv     * /home/myname/.conda/envs/myenv 
root        /home/myname/anaconda3

现在尝试 运行 带有 #! /home/myname/.conda/envs/myenv hy bash 的脚本会引发 bad interpreter: Permission denied 错误。

在这种情况下,shebangs 应该指向哪里?

#!/usr/bin/env hy 实际上可以与 Conda 一起使用。您只需在 运行 脚本之前说 source activate myenv 即可。