【问题标题】:Shebangs in conda managed environmentsconda 托管环境中的 Shebangs
【发布时间】:2017-04-29 03:38:23
【问题描述】:

我正在尝试在 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应该指向哪里?

【问题讨论】:

  • 我不明白为什么这被否决了?
  • 我同意这有点苛刻,不应该怪你在展示你的调查时特意提问。
  • 我建议将其作为How do I activate a conda env in a subshell? 的副本关闭。虽然这个较旧(恕我直言,更清楚地说明了),但另一个答案更彻底,涵盖了一系列替代方案。
  • 我知道,当我问这个问题时,我不知道什么是 subshel​​l——我认为我的框架虽然不那么精致,但对于绝对初学者来说可能有更好的 SEO!不过,我并不完全确定 SO 哲学是什么——使用适当的术语可能对整体可访问性更好,因此可能应该胜过初学者的可访问性
  • @Hugo 我只是建议您关闭它,以便其他答案在顶部突出显示。您的答案仍然可以通过搜索找到。我认为有很多不同的方式来陈述问题是有帮助的,但有一个共同解决方案的中心位置。

标签: python bash anaconda shebang hy


【解决方案1】:

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

【讨论】:

  • 感谢您的回复。我的环境被激活了,但我想我没有尝试就做出了假设。欣赏它
猜你喜欢
  • 2021-02-06
  • 1970-01-01
  • 2020-11-25
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多