upstartは、何らかの理由で私のvirtualenvをアクティブにしません。
これは私がそれを実行する方法です
script
# My startup script, plain old Shell scripting here.
cd path/to/env
source bin/activate
....
end script
手動で開始すると、virtualenvは正常に実行されます
なぜこれが機能しないのですか?
だから私はそれを解決しました、何らかの理由でupstartは 'source'を使用するのが好きではないので、私は次のように行を変更しました:
source bin/activate
に
. bin/activate
それはうまくいきますが、理由はわかりませんので、誰かがこれを説明できれば興味があります
source
はbashの組み込みコマンドですが、posixの「特別な」コマンドのみです。
Upstartは、スクリプトセクションの実行時にsh -e
を実行します。
shShellはsource
を理解せず、.
のみを理解します