2017-05-25 5 views
0

eval "$(pyenv init -)"にある.zshrc.xonshrcに移動するにはどうすればよいですか? これを行うにはxonshの構文は何ですか?

+0

たとえば、行を含む.bashrcのスニペットを追加します。 これは遍在する設定ではないようです。 –

答えて

0

pyenv(現時点では)bashまたはzshなどのPOSIX準拠のシェルだけでなく、fishシェルもサポートしています。 pyenvは、pythonのラッパーではなく、実行中のシェルセッションに統合され、目的のvirtualenvを透過的に提供します。

eval "$(pyenv init -)" 

出力は代わりevalコマンドが書き込まれたかのように、実行中のシェルのコンテキストでそれをpyenv init -の出力を受け取り、ラン(評価します)。

pyenv init -の出力を見ると、シェルコードの一部であることがわかります。とりわけ、pyenvの機能が定義されています。

fishシェルで実行した場合
export PATH="/home/adaephon/local/opt/pyenv/shims:${PATH}" 
export PYENV_SHELL=zsh 
source '/home/adaephon/local/opt/pyenv/libexec/../completions/pyenv.zsh' 
command pyenv rehash 2>/dev/null 
pyenv() { 
    local command 
    command="$1" 
    if [ "$#" -gt 0 ]; then 
    shift 
    fi 

    case "$command" in 
    activate|deactivate|rehash|shell) 
    eval "$(pyenv "sh-$command" "[email protected]")";; 
    *) 
    command pyenv "$command" "[email protected]";; 
    esac 
} 

、同じことを行いますが、fishの構文でpyenv init -戻りコード。

からxonshで動作するようにpyenvについては

それは出力にxonsh互換の変数と関数の定義を持っているでしょう。限り、私が見ることができる限り、少なくともファイルlibexec/pyenv-initlibexec/pyenv-sh-shell(そしておそらくいくつかのプラグイン)を編集する必要があります。

関連する問題