Impostazione del percorso per Pyenv

Aug 25 2020

Sto cercando di impostare il percorso di caricamento per Pyenv nel .bashrcfile del mio server .

Sto seguendo questo tutorial in cui ci chiede di impostare pyenvil percorso di caricamento

Tuttavia, nel mio .bashrcfile, vedo già i comandi seguenti

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

E in che modo è diverso da quanto riportato di seguito nel tutorial condiviso sopra?

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

Posso sapere cosa fa il if...fiblocco nel codice mostrato sopra?

Risposte

1 kHarshit Aug 27 2020 at 07:39

È principalmente la sintassi di bash.

# 1.

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

è equivalente a

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

come nel primo caso, dichiari una variabile denominata PYENV_ROOTquindi la usi.

# 2.

ife fisono come scrivi le istruzioni if ​​in bash.

# 3.

command -v pyenvviene utilizzato per eseguire un comando ( pyenv) in questo caso, l' -vopzione stampa il percorso es

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

significa che se il comando pyenvviene trovato, allora eseguieval "$(pyenv init -)"

# 4.

Qui, >/dev/null 2>&1;viene utilizzato per scartare l'output. leggi di più questa risposta .

Quindi, due blocchi di codice sono quasi uguali, le uniche differenze sono: il primo ha un if-blocke il secondo ha un comando extra eval "$(pyenv virtualenv-init -)".