Pyenvのパスを設定する

Aug 25 2020

サーバー.bashrcファイルでPyenvのロードパスを設定しようとしています。

私はこのチュートリアルに従っていpyenvて、ロードパスに設定するように求められます

しかし、私の.bashrcファイルでは、すでに以下のコマンドが表示されています

export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"
fi

そして、それは上で共有されたチュートリアルで提供された以下のものとどう違うのですか?

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"

if...fi上記のコードでblockが何をするのかわかりますか?

回答

1 kHarshit Aug 27 2020 at 07:39

これは主にbashの構文です。

#1。

export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH"

と同等です

export PATH="$HOME/.pyenv/bin:$PATH"

最初の場合と同様に、という名前の変数を宣言してPYENV_ROOTから使用します。

#2。

ifそしてfi、bashでifステートメントを書く方法です。

#3。

command -v pyenvpyenvこの場合、コマンド()を実行するために使用され、-vオプションはパス名を出力します。

$ command -v python
/usr/bin/python
if command -v pyenv 1

コマンドpyenvが見つかった場合、実行することを意味しますeval "$(pyenv init -)"

#4。

ここで>/dev/null 2>&1;は、出力を破棄するために使用されます。それについてもっと読むこの答え。

したがって、コードの2つのブロックはほぼ同じですが、唯一の違いは次のとおりです。最初のブロックにはがありif-block、2番目のブロックには1つの追加コマンドがありeval "$(pyenv virtualenv-init -)"ます。