用pyenv安装python后找不到python3命令

时间:2018-05-18 18:39:30

标签: python pip pyenv

我用pyenv安装了特定版本的python。在终端中键入pyenv version时,我会看到3.5.0 (set by /Users/lcherukuri/.python-version)。但是当我输入python3时,我得到python3 command not found。如何解决这个问题? pip3也未找到

4 个答案:

答案 0 :(得分:4)

pyenv只是一个Python版本管理器。即使在$ PATH中没有安装python3,也可能会看到安装了Python 3.X。

您需要将python3添加到$ PATH。您可以看到如何执行此操作here

默认情况下,MacOS使用python3来区分本机预安装的python(即Python 2.7)和任何后安装的Python 3.X发行版。 pippip3也是如此。

关于管理版本的pyenv文档:

  

找到Python安装

     

一旦pyenv确定了哪个   你的应用程序指定的Python版本,它通过了   命令相应的Python安装。

     

每个Python版本都安装在$(pyenv)下的自己的目录中   根)/版本。

     

例如,您可能安装了以下版本:

     

$(pyenv root)/versions/2.7.8/

     

$(pyenv root)/versions/3.4.2/

     

$(pyenvroot)/versions/pypy-2.4.0/

     

就pyenv而言,版本名称   只是$(pyenv root)/ versions中的目录。

答案 1 :(得分:2)

如果您使用pyenv安装了python 2.x和python 3.x,请运行以下命令以在全球范围内找到两个版本(python,python2和python3别名)。

添加您正在使用的特定版本:

pyenv global 3.8.3 2.7.18

答案 2 :(得分:0)

pyenv管理诸如python3pip3之类的命令的填充可执行文件。如果您的Shell中没有pyenv的垫片,通常意味着以下两种情况之一:

  • pyenv尚未完全安装

  • pyenv shell功能未激活

由于您的pyenv命令正在运行,但填充不起作用,则很可能意味着外壳功能未激活。在撰写本文时,正确的方法是确保评估init命令的输出。在macOS上,您可以将以下内容添加到〜/ .bash_profile中:

eval "$(pyenv init -)"

较旧的安装说明可能不包括该步骤,或者仅将pyenv的bin目录添加到PATH中是不够的。如果您使用pyenv-installer,则在安装过程结束时会在警告中提示此步骤。

答案 3 :(得分:0)

我在路径中有python3。我还执行了pyenv global 2.x.x 3.x.x。但是我仍然遇到同样的错误。

最终对我有用的方法是在项目根目录中执行此行(使用哪个版本替换3.X.X)

pyenv shell 3.X.X

注意:这设置了特定于shell的python版本,因此它并不是解决所发布问题的真正方法。只是使python3正常工作的解决方法。