【问题标题】:How to use pip for pyenv?如何将 pip 用于 pyenv?
【发布时间】:2019-02-03 06:20:30
【问题描述】:

我在我的 Mac 中安装了 pyenv 来管理不同的 python 版本。

之前,我有系统默认的python 2.7,它位于/Library/Frameworks/Python.framework/Versions/2.7/ 我也有python3,它位于/usr/local/bin/python3

现在,我安装了位于/Users/hao/.pyenv/shims/python2的pyenv和python 2.7.14

当我想使用“pip”命令安装一些库时,我只是好奇,如何确保将库安装到正确的 python 中?例如,我想使用 'pip' 将 torch 或 tensorflow 安装到 pyenv python 2.7.14 中。但不想将它们安装到系统默认 python 中。还有,如何更改pip3版本?

这里我使用which pipwhich pip3,结果是:

haos-mbp:~ hao$ which pip
/Users/hao/.pyenv/shims/pip
haos-mbp:~ hao$ which pip3
/usr/local/bin/pip3

【问题讨论】:

  • 如果你想安装到你的 2.7,使用 pip...如果你想安装 python 3,使用 pip3。
  • 所以如果我使用 pip,我如何确保它将安装到 pyenv python2,7 而不是系统默认的 python 2.7。如果我还在pyenv中安装了python3,我如何确保将pip3安装到pyenv python3而不是pyenv之外的python3?
  • /Users/hao/.pyenv/shims/python2 -m pip install
  • 我个人使用pipenv,这真的很棒。你可以简单地做一个pipenv install package-name,它只会将该包添加到那个环境中。

标签: python pip pyenv


【解决方案1】:

当使用pyenv 时,您应该能够在您正在工作的目录中设置您的“本地”版本,然后pip 将依赖此版本。

所以在你的情况下:

pyenv local 2.7.14
pip install package-name

在此处查看有关pyenv 命令的更多信息:https://github.com/pyenv/pyenv/blob/master/COMMANDS.md

但我确实认为这里缺少的主要部分是“虚拟环境”,以使您的 Python 包在每个项目中保持独立(即使它们共享相同的 Python 版本)。根据您的要求,这不是必需的,但这是公认的最佳实践。有关更多信息,请参阅 Python 文档 here

【讨论】:

    【解决方案2】:

    我正在分享我的实时体验,

    我的系统默认指向 python2.7,即使我在我的机器上安装了 python3.6

    但是当我尝试下载python3.6的新包时,却是用默认的python2.7下载的

    所以我遇到了这个pyenv

    我安装了 pyenv

    安装后

     $ pyenv install --list
     $ pyenv global
    

    指向默认系统(python2.7)

    安装了python3.6

    $ pyenv install 3.6.9
    

    从python2.7改为python3.6

    $ pyenv global 3.6.9
    

    这里,我们要注意的是,通过安装pyenv,默认会安装pip

    使用 pip 命令我为 python3.6 安装了所需的包,而没有添加像 pip3 这样的后缀号。

     $ pip install pyOpenSSL
    

    假设你要安装python2.7相关的包,然后改python环境

    $ pyenv global 2.7.0
    

    您可以使用 pip 而不是 pip3 安装所需的软件包

    pip install package-name
    

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      相关资源
      最近更新 更多