如何使 pip 命令使用 pyenv pip 而不是默认系统 pip?

How to make pip command use pyenv pip rather than default system pip?

如果我使用 pyenv 更改了我的 Python 版本,我想让 pip 命令知道这一点。

事实并非如此。

下面,我 运行 pyenv activate py-3.8.6。我正在使用 Python 3.8.6.

(py-3.8.6) macbookpro13@Mys-MacBook-Pro ~ % which pip
/Users/macbookpro13/Library/Python/2.7/bin/pip
(py-3.8.6) macbookpro13@Mys-MacBook-Pro ~ % pyenv which pip
/Users/macbookpro13/.pyenv/versions/py-3.8.6/bin/pip
(py-3.8.6) macbookpro13@Mys-MacBook-Pro ~ %

但是 pip 命令仍然是 运行 默认的系统 pip,这意味着安装的任何东西都不能用于 pyenv 的托管 Python。

如何修复?

我也遇到了这个问题,并通过将以下项目添加到我的 ~/.zshrc

中设法解决了
export PATH=~/.pyenv/shims:$PATH
export PYENV_ROOT=$HOME/.pyenv

然后您可以检查并确认 pip 正在从 pyenv shims 加载

type python
python is /home/user/.pyenv/shims/python

type pip
pip is /home/user/.pyenv/shims/pip

我可以通过移动来解决这个问题

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

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


if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-in    it -)"; fi

.. 在我的 .zshrc 文件中较低。其他东西正在更新 pip 路径 link.