私はvirtualenvをMac OSX(10.8.2)で動作させていますが、動作している間に(私はvenvsを設定し、それらの間で切り替え、起動し、無効にすることができます)、動作しない(そして、ターミナルプロンプトスイッチ。それに改行を持ってvirtualenvが端末プロンプトを設定しないのはなぜですか?
[hugo] /current/directory/path/
$
すなわち:
私の基本的なプロンプトはとしてレンダリングされ、[\u] \w \n\[\033[0;31m\]$\[\e[0m\]
です。
私は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のものです。私はそれがうまく動作することを知っています(実際には私のOSGホストではなく、私の迷惑メールVMで動作します)。
?
[UPDATE 1]
私の間違いは、 - それは私が持っているように見えるのgit-意識したディレクトリ/レポ状況に応じて、プロンプトを上書きされているプロンプト。これは、venvプロンプトを強制終了させるものです。今私はちょうど両方を行う必要があります - それで、フォローアップの質問です:誰も色、gitを認識し、OSXのプロンプトがうまくvirtualenvで場所を持っていますか?
うんから
(virtenv)
を分離するために追加のスペースがあること - 感謝 - 私は最終的にそれを働い –Likewise-をいじる必要があったが。 .bashrcの末尾に追加すると直接動作しませんでした。代わりに、このスクリプト(これは、virtualenvフォルダの "bin/activate"にあるものと同じです)を.bashrcの他のプロンプト設定の直下にコピーしますしかし、PS1の輸出前に、それは働いた – Nate
私は最後の林にセミコロンを追加する必要があると思うeを$ PROMPT_COMMANDとadd_venv_infoの間で使用して動作させます。 – jgosmann