由于某种原因,upstart无法激活我的virtualenv。
这是我运行它的方式。
script
# My startup script, plain old shell scripting here.
cd path/to/env
source bin/activate
....
end script
当手动启动时,虚拟环境运行良好。
为什么这样不起作用?
由于某种原因,upstart无法激活我的virtualenv。
这是我运行它的方式。
script
# My startup script, plain old shell scripting here.
cd path/to/env
source bin/activate
....
end script
当手动启动时,虚拟环境运行良好。
为什么这样不起作用?
所以我已经解决了,由于某种原因upstart不喜欢使用“source”,所以我将这行改为:
source bin/activate
至
. bin/activate
那样做是有效的,但不知道为什么。如果有人能解释一下就很感兴趣。
bin/
文件夹中的路径即可解决问题。 - Max Candociasource
是一个 Bash 内置命令,但只是 POSIX “特殊”命令。
在执行脚本部分时,Upstart 运行 sh -e
。
sh shell 不理解 source
命令,只理解 .
命令。
upstart
不会在连续的命令之间保留环境变量?您可以始终使用$VIRTUAL_ENV/bin/python ...
直接运行应用程序而无需激活环境。 - millimoose