Impostazione del percorso per Pyenv
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
È 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 -)".