pyenv如何使用pip?

时间:2018-08-28 14:56:28

标签: python pip pyenv

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

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

中的python3

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

当我想使用“ pip”命令安装某些库时,我只是很好奇,如何确保将库安装到正确的python中?例如,我想使用'pip'将火炬或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 个答案:

答案 0 :(得分:0)

使用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

答案 1 :(得分:0)

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

即使我在机器上安装了python3.6,我的系统仍将默认设置为python2.7

但是当我尝试为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