将Python更改为/usr/local/bin/python?

3
我正在尝试使用python2.7安装opencv。当我使用“brew install python”时,我得到了以下警告:“警告:python-2.7.11已经安装,只是没有链接”。然后我运行“brew link python”和“brew install python”再次得到以下警告:“1 export PATH =“ / usr / local / mysql / bin:$ PATH”,警告:python-2.7.11已经安装”。但是,“which python”仍告诉我我正在使用“/usr/bin/python”。我更改了我的“~/.bash_profile”如下:
  1 export PATH="/usr/local/mysql/bin:$PATH"
  2  #Setting PATH for Python 3.5
  3 # The orginal version is saved in .bash_profile.pysave
  4 PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
  5 export PATH
  6 # Homebrew
  7 export PATH="/usr/local/bin:$PATH"

没有任何反应。看来我应该使用 /usr/local/bin/python,因为 opencv 是通过 homebrew 安装的。

如何解决这个问题?

3个回答

4
你尝试过关闭终端会话,然后打开一个新的吗?只有在bash作为登录shell执行时才会读取~/.bash_profile文件,而在打开新终端窗口时,Terminal.app是默认使用登录shell。或者你可以使用source ~/.bash_profile命令,如果你不想关闭终端会话的话。
顺带一提,你可能需要在~/.bash_profile的顶部添加以下内容:
if [ -f ~/.bashrc ]; then
        source ~/.bashrc
fi

以便执行您的~/.bashrc文件。您还可以选择添加以下内容:

if [ -f `brew --prefix`/etc/bash_completion ]; then
    source `brew --prefix`/etc/bash_completion
fi

为了使brew命令具备bash自动完成功能。

是的,我在编辑完后执行了 source ~/.bash_profile,但仍然得到相同的结果。此外,给出的两个解决方案似乎对我无效。实际上,我不知道 brew link python 是做什么的,我认为它会将我的系统 Python(即 /usr/bin/python)与 /usr/local/bin/python 建立符号链接。这样为什么它们不是相同的呢? - jinglei
echo $PATH 命令告诉你什么? /usr/local/bin 应该在 /usr/bin/ 之前。 brew link python 不会将 Homebrew 版本与系统 Python 进行符号链接,这样做可能会破坏依赖于当前操作系统附带版本的系统脚本。它只会将 /usr/local/Cellar/ 中最新的 Python 版本符号链接到 /usr/local 中。 - n.abing

0

最近的Homebrew和OSX版本已经将python从/usr/local/bin更改为/usr/local/opt/python/libexec/bin

您可以执行以下操作:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

以获取Homebrew的python。


0
我将它更改为以下内容:/usr/local/bin
export PATH="/usr/local/python/libexec/bin:$PATH"

对我来说运行得非常好。这就是我想要使用的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接