Homebrew 安装后无法运行 Python 3

vcy*_*rfc 7 python macos terminal homebrew python-3.x

使用主页上的脚本安装 Homebrew 并检查一切是否正常后brew doctor,我发出brew install python3命令以便在我的 Mac 上安装 Python 3。

在我尝试跑步之前,一切似乎都很好python3 --version;我最终得到:

-bash: /Library/Frameworks/Python.framework/Versions/3.5/bin/python3: No such file or directory

我检查了文件目录以查看发生了什么,实际上,我在框架文件夹中没有看到任何与 Python 相关的文件。看起来 Python 2.7 也不在我的 Mac 上。

这是我安装 Python 3 后得到的:

Summary /usr/local/Cellar/python3/3.5.1: 3,438 files, 51.5M

edit_2:也许这与没有Python框架有关?我刚刚从 Python 网站上读到了这个:

Apple 提供的 Python 版本分别安装在 /System/Library/Frameworks/Python.framework 和 /usr/bin/python 中。您永远不应修改或删除这些内容,因为它们由 Apple 控制并由 Apple 或第三方软件使用。请记住,如果您选择从 python.org 安装更新的 Python 版本,您的计算机上将有两个不同但功能强大的 Python 安装,因此您的路径和用法与您想要执行的操作一致非常重要。

Rom*_*nas 7

我想我发现了问题所在。

我猜想,在某个时刻,您是从官方网站而不是通过 Homebrew 安装了 python。就我而言,我是通过官方网站安装的Python 3.6.4。几个月后,我想升级它,并注意到它非常复杂。所以,我决定转向 Homebrew。打开一个终端窗口,让我们尝试解决这个问题:

  1. 首先,让我们卸载以前的 Python 版本:

     sudo rm -rf /Library/Frameworks/Python.framework
     sudo rm -rf /usr/local/bin/python3
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后,从$PATH变量中删除以前的框架:

     nano ~/.bash_profile
    
    Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

    # Setting PATH for Python 2.7
    # The original version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
    export PATH

    # Setting PATH for Python 3.6
    # The original version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
    export PATH`
Run Code Online (Sandbox Code Playgroud)

这就是问题所在:这些路径不存在。注释$PATH editions(或删除它们):

    # Setting PATH for Python 2.7
    # The original version is saved in .bash_profile.pysave
    # PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
    # export PATH

    # Setting PATH for Python 3.6
    # The original version is saved in .bash_profile.pysave
    # PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
    # export PATH
Run Code Online (Sandbox Code Playgroud)
  1. 重新启动计算机并通过 Homebrew Python 2 和 3 安装:

     brew update
     brew install python
     brew install python3
    
    Run Code Online (Sandbox Code Playgroud)

这对我有用。现在,如果输入python3 --version我得到Python 3.7.0,一切正常:)


sta*_*ike 5

我遇到过同样的问题。我学会了如何永久修复它:

  1. 在 Mac Finder 中打开“应用程序”并将 Python 拖到垃圾箱。
  2. 清空垃圾桶

如果您有上述错误,那么已经通过例如Python.org执行了正式的 Python 安装(正如其他人所提到的)。这会为Bash 别名之外的pythonorpython3命令创建某种别名。所以虽然命令where python3可能指向/usr/local/bin/python3python3仍会尝试调用/Library/Frameworks/Python.framework/Versions/3.5/bin/python3

笔记:

  • MacOS 系统 Python 是 /usr/bin/python
  • Homebrew Python(s) 将位于 /usr/local/bin/
  • 作为 Apple 应用程序安装的 Python 存在于 /Library/Frameworks/Python.framework/


vcy*_*rfc 2

好的,这是我收集的: