自制安装后无法运行Python 3

时间:2016-03-15 03:05:48

标签: python macos python-3.x terminal homebrew

使用主页上的脚本安装Homebrew并使用onMeasure()检查一切是否正常后,我发布了brew doctor以便在我的Mac上安装Python 3。

在我尝试运行brew install python3之前,一切似乎都很好;我最终得到了:

python3 --version

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

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

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

edit_2:也许有一些事情要做,没有Python框架?我刚从Python网站上读到这篇文章:

  

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

4 个答案:

答案 0 :(得分:2)

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

  1. 在Mac Finder中打开“应用程序”,然后将Python拖到垃圾箱。
  2. 倒空垃圾箱

如果您遇到上述错误,则表示已通过(例如,其他人提到的)执行了正式的Python安装(如其他人所提到的)。 Python.org。这会为Bash别名之外的pythonpython3命令创建某种别名。因此,尽管命令where python3可能指向/usr/local/bin/python3,但是python3仍会尝试调用/Library/Frameworks/Python.framework/Versions/3.5/bin/python3

注意:

  • MacOS系统的Python是/usr/bin/python
  • 自制软件的Python将位于/usr/local/bin/
  • 作为Apple应用程序安装的Python生活在/Library/Frameworks/Python.framework/

答案 1 :(得分:1)

此错误:

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

建议使用不同的方式(不是Homebrew)安装Python 3之前的某些(尝试安装)。[/ p>

(我认为这实际上是来自www.python.org的Python安装的地方。但我不知道,因为我从未尝试过该软件包,只是从源代码安装了www.python.org版本但是,这表明你已经尝试过安装Python 3.5,有些失败,而你现在正在尝试使用Homebrew。)

我建议移动(重命名)这个,所以你的系统不会把它拿起来。像

这样的东西
mv /Library/Frameworks/Python.framework/Versions/3.5 /Library/Frameworks/Python.framework/Versions/3.5-aside

(如果该目录中有其他版本的Python 3,您可能希望对这些版本执行相同的操作。)

同时检查python3是否不是别名。命令如

which python3
type python3
alias python3

将揭示这一点。

在干扰Python 3的情况下,尝试再次通过自制程序重新安装Python 3。您可能需要卸载+重新安装 安装完成后仔细阅读任何自制消息,特别是如果它提到链接文件的某些内容:您可能需要运行类似brew link python3的内容。

答案 2 :(得分:1)

好的,这就是我收集的内容:

答案 3 :(得分:1)

我想我发现了问题所在。

我想在某个时候,您是从官方网站而不是通过Homebrew安装了python。 就我而言,我是通过官方网站Python 3.6.4安装的。几个月后,我想对其进行升级,并注意到它非常复杂。因此,我决定搬到自制软件。打开一个终端窗口,让我们尝试解决此问题: 1.首先,让我们卸载以前的Python版本:

    sudo rm -rf /Library/Frameworks/Python.framework
    sudo rm -rf /usr/local/bin/python3

2。然后,从$PATH变量中删除先前的框架:

    nano ~/.bash_profile

您将看到类似的内容:

    # 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`

这是问题:这些路径不存在。评论$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

3。重新启动计算机并通过Homebrew Python 2和3安装:

    brew update
    brew install python
    brew install python3

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