python和python3命令不指向pyenv全局版本

时间:2018-05-15 06:34:13

标签: python pyenv

我以前用自制软件安装了python 2.7和python 3。

我将这些版本添加到pyenv

ln -s $(brew --cellar python)/* ~/.pyenv/versions
ln -s $(brew --cellar python@2)/* ~/.pyenv/versions

当我使用pyenv global 3.6.5设置全局版本时,运行此命令时出现以下错误

➜ python --version
pyenv: python: command not found

The `python' command exists in these Python versions:
  2.7.15

我想设置python命令指向全局版本。

1 个答案:

答案 0 :(得分:1)

自制软件的python公式是Python3。为避免破坏期望python命令运行Python 2的应用程序,brew install python不会添加python命令,只有{ {1}}。注意事项已包括在python3中:

  

Python已安装为     / usr / local / bin / python3

     

未版本化的符号链接brew info pythonpythonpython-config等指向   pippython3python3-config等已分别安装到     / usr / local / opt / python / libexec / bin

仅使用自制软件时,很容易通过在外壳配置中添加如下一行来使pip3指向Python 3:

python

因此,一种解决方案可能是将export PATH="/usr/local/opt/python/libexec/bin:$PATH" 链接到该目录:

pyenv

这将使ln -s $(brew --prefix)/opt/python/libexec/bin ~/.pyenv/versions/3-brew 工作。但是,这意味着python 将不起作用,因为该可执行文件存在于python3.6中,所以它不是一个完整的解决方案。我还没有找到能在不手动将符号链接添加到Homebrew已安装的Python的情况下保留两种行为的任何东西。