私はvirtualenvをMacOSX(10.8.2)で実行していますが、それが機能している間(venvをセットアップし、それらを切り替え、アクティブ化および非アクティブ化できます)、機能しない(そして非常に煩わしい)1つのことはターミナルですプロンプトスイッチ。
私の基本的なプロンプトは[\u] \w \n\[\033[0;31m\]$\[\e[0m\]
、で、次のようにレンダリングされます。
[hugo] /current/directory/path/
$
つまり、改行が含まれています。
virtualenvをアクティブ化すると、次のことが期待されます。
(myproject)[hugo] /current/directory/path/
$
しかし、実際にはまったく変化はありません。
/bin/activate
スクリプトを開いて、コードを確認しました。
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
fi
export PS1
fi
PS1
最後にエコーを貼り付けると、 varがに設定されていることがわかります(myproject)[\u] \w \n\[\033[0;31m\]$\[\e[0m\]
が、何らかの理由で貼り付けられておらず、正しいPS1がエクスポートされていません。
これは私のカスタムプロンプトと関係がありますか、それとも権限の問題ですか?それが機能することを私が知っているので、それは明らかにvirtualenvのものではありません(そして実際、それは私のOSXホストではなく私のvagrantVMで機能します)。
?
[更新1]
私の間違い-ディレクトリ/リポジトリのステータスに応じてプロンプトを上書きしているgit対応のプロンプトがあるようです。これは、venvプロンプトを強制終了するものです。今、私は両方を行うものが必要です-したがって、フォローアップの質問は次のとおりです:virtualenvとうまく配置される色、git対応、OSXプロンプトを持っている人はいますか?