pyenv在每个`source`处向.zshrc文件添加垃圾邮件

问题描述 投票:0回答:2

我正在尝试将python 3.7.3设置为我的默认python。我正在遵循本指南https://opensource.com/article/19/5/python-3-default-mac,并撤消了页面底部的What we should do一章。

除了将我的.zshrc文件附加为:之外,它还可以正常工作:

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

if command -v pyenv 1>/dev/null 2>&1; then
 eval "$(pyenv init -)"
fi
if command -v pyenv 1>/dev/null 2>&1; then
 eval "$(pyenv init -)"
fi

每次打开终端或运行source ~/.zshrc时,它将在我的配置的底部放置以下其他内容:

if command -v pyenv 1>/dev/null 2>&1; then
 eval "$(pyenv init -)"
fi

如果删除if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi,将>> ~/.zshrc更改为>> ~/.zshrc_temp或将其完全删除,则会获得python v2有任何想法吗?

如果有问题,我正在使用MacOS Mojave 10.14和iTerm2。

python python-3.x terminal zshrc pyenv
2个回答
1
投票
这不是与pyenv相关的问题,您只是不了解.zshrc是什么。

.zshrc是ZSH的init / config文件。每当您打开新的交互式ZSH Shell时,ZSH都会在其中运行内容。

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

上面的内容一遍又一遍地将pyenv初始化脚本附加到.zshrc中。

我不知道您在何处复制了echo -e ...命令。应该在外壳中运行,而不是放在.zshrc中。


0
投票
我想我解决了这个问题!我完成删除

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

以及每个

if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi

一个除外。

Pyenv在此之后似乎仍然可以正常工作,并且没有新行添加到我的.zshrc中

© www.soinside.com 2019 - 2024. All rights reserved.