如何解决Pip 不使用垫片,而是 pyenv
我在 pyenv 环境中遇到了获取正确“pip”的问题。我试过重新安装pyenv,但问题仍然存在。我使用的是配备 M1 芯片的 MacBook Air。我基本上是在尝试将 Python 3.9.4 安装的 pip 和站点包分开,但不知何故它一直引用系统范围内的“pip”。
当前版本:
<me>:~:$ pyenv versions
* system (set by /Users/<me>/.pyenv/version)
3.9.4
在我的 $HOME 提示符下:
<me>:~:$ python -V
Python 2.7.16
<me>:~:$ which pip
/opt/homebrew/bin/pip
<me>:~:$ pip -V
pip 21.1 from /opt/homebrew/lib/python3.9/site-packages/pip (python 3.9)
在
<me>:~:$ cd ~//<project 1>/
<me>:~//<project 1>:$ python -V
Python 3.9.4
<me>:~//<project 1>:$ pyenv versions
system
* 3.9.4 (set by /Users/<me>/<project 1>/.python-version)
但是,当我执行“which pip”或“pip -V”时,它会显示系统 pip 二进制文件:
<me>:~/<project 1>:$ which pip
/opt/homebrew/bin/pip
<me>:~//<project 1>:$ pip -V
pip 21.1 from /opt/homebrew/lib/python3.9/site-packages/pip (python 3.9)
关于如何在 pyenv 版本下使用“pip”进行此操作有任何想法吗?
解决方法
所以,问题的根源在于在 shims 文件夹中,没有安装 pip 文件。
当我重播几次安装过程时,我注意到在最后的安装步骤中,我看到了以下记录的输出:
Requirement already up-to-date: pip in $HOME/.local/lib/python3.9/site-packages (21.1)
我最终删除了我机器上所有现有的 pip 安装(在 opt/homebrew/ 和 $HOME/.local/lib/python* 中)。当我尝试重新安装时,我得到以下信息:
* WARNING: The scripts pip3 and pip3.9 are installed in '/$HOME/.pyenv/versions/3.9.4/bin' which is not on PATH.
* Consider adding this directory to PATH or,if you prefer to suppress this warning,use --no-warn-script-location.
* Successfully installed pip-20.2.3 setuptools-49.2.1
如上所述,将以下代码段添加到我的 bash_profile 文件中:
export PATH="$HOME/.pyenv/versions/:$PATH"
如果 pyenv 安装程序忽略现有安装并继续确保 pip 安装在 shims 文件夹中,则可能可以避免这种情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。