运行 来自 virtualenv 的 bash 脚本

Running script in bash from a virtualenv

我正在尝试从 python 在 bash 中编写 运行 脚本,但我目前在 virtualenv 中工作,当我的脚本调用特定程序时,我得到 "usr/bin/env: luajit: No such file or directory"。

当我 运行 在单独的 bash window(在 virtualenv 之外)中使用相同的脚本时,它 运行 非常完美。

我感觉是因为这个程序没有被正确指向,但不知道如何告诉我的 virtualenv 去寻找那个程序。我该如何解决这个问题?

我在 Ubuntu 14.04,使用 python 2

答案在于环境变量。 PATH 应包含您的 luajit 所在的位置。

参见 setting an environment variable in virtualenv for some ways to automatically set environment variables in a virtualenv (but two of the currently suggested ways require wrappers and one - editing a stock script). There's no magic: virtualenv edition by Allison Kaptur 描述了 virtualenv 工作背后的(相当简单的)魔力,因此您可以找到一个更好的地方来放置变量赋值。