Mac使用默认Python而非Anaconda安装的Python

56 投票
9 回答
81581 浏览
提问于 2025-04-18 00:45

我正在使用Mac 10.9 Mavericks,并且已经安装了Anaconda。不过,当我通过终端访问Python时,仍然得到的是苹果自带的版本:

Python 2.7.5 (default, Sep  2 2013, 05:24:04) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin

我的.bash_profile文件是这样的:

export PATH="$HOME/anaconda/bin:$PATH"

MONGO_PATH=/usr/local/mongodb/bin
SQL_PATH=/usr/local/mysql

export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"

有没有什么办法可以让我使用Anaconda的Python版本?现在我有点不知道该怎么办了。

谢谢

9 个回答

3

如果你在使用fish这个命令行工具,你会发现Anaconda会把你之前的.bash_profile文件备份成.bash_profile-anaconda.bak,并在.bash_profile的底部添加了两行内容,像这样:

# added by Anaconda2 4.1.1 installer
export PATH="/Users/username/anaconda/bin:$PATH"

不过,fish并不会读取这个文件,所以你需要手动把这些内容添加到fish的配置文件里,这个文件的位置是~/.config/fish/config.fish:

set -x PATH /Users/username/anaconda/bin $PATH
4

更新:对于所有使用Python 3的人来说,上面的解决方案在Python 3中是行不通的。

Anaconda的Python 3现在位于 ~/anaconda3/bin。所以你应该这样做:

export PATH="$HOME/anaconda3/bin:$PATH"

或者

export PATH="$HOME/anaconda3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
4

如果你在使用 zsh 这个命令行工具,你可以在你的根文件夹里的 zshrc 文件中进行编辑,添加以下内容:

export PATH="$HOME/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
12

如果你的默认终端是sh(或者可能是其他非bash的终端),你就无法访问你的Anaconda Python。如果你遇到这种情况,可以按照以下步骤操作:

  1. 打开终端,找到“偏好设置”
  2. 找到“Shells open with:”这一项
  3. 点击“命令(完整路径)”的按钮
  4. 在路径框里输入 /bin/bash

重启你的终端。现在,当你输入 $ which python 时,你应该能看到Anaconda的Python。对我来说,它的路径是 /Users/myname/anaconda3/bin/python

输入 $ echo $PATH 也会显示正确的路径,Anaconda的路径会排在最前面:

/Users/myname/anaconda3/bin:/Users/myname/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin

在Atom编辑器中,我需要在每个脚本的开头添加一个shebang,以设置我的Python偏好: #!/Users/myname/anaconda3/bin/python

64

第一个找到的可执行文件就是被运行的那个。从我了解到的情况,你在设置你的PATH变量时,可能是这样连接的:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

这段代码在这之前:

$HOME/anaconda/bin

所以确保anaconda的目录是第一个,这样它就会有优先权

export PATH="$HOME/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"

撰写回答