0
我該如何將eval "$(pyenv init -)"
移動到.zshrc
到.xonshrc
? xonsh
這樣做的語法是什麼?
我該如何將eval "$(pyenv init -)"
移動到.zshrc
到.xonshrc
? xonsh
這樣做的語法是什麼?
pyenv
(目前)只支持符合POSIX的shell(如bash
或zsh
)以及fish
shell。 pyenv
不僅僅是python
的包裝,它將自身集成到正在運行的shell會話中,以便透明地提供所需的virtualenv。
eval "$(pyenv init -)"
需要的pyenv init -
和運行(求值)輸出它在運行的殼的上下文中,就好像輸出被寫有代替eval
命令。
查看pyenv init -
的輸出結果可以看出,這是一些shell代碼,除其他外,它定義了pyenv
函數。
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
shell中運行,pyenv init -
返回代碼,不會相同,但在fish
的語法。
-
對於pyenv
與xonsh
工作那就要輸出xonsh
兼容的變量和函數定義。據我所見,你至少需要編輯文件libexec/pyenv-init
和libexec/pyenv-sh-shell
(可能還有一些插件)。
您應該發佈一些上下文,例如添加包含該行的.bashrc的片段。 這似乎不是一個無處不在的設置。 –