在Mac上安装Python 3

0 投票
4 回答
13585 浏览
提问于 2025-04-18 15:57

我在我的Mac OS 10.9.4上安装了python 3.4.1,但系统似乎没有识别到它。首先,我安装了Anaconda这个Python发行版,当我检查conda时,它显示我在我的MacBook上安装了python 3.4.1。

 khurramsmacbook:~ kmajeed$ conda info 

   Current conda install:

             platform : osx-64
        conda version : 3.5.5
       python version : 3.4.1.final.0
     root environment : /Users/kmajeed/anaconda  (writable)
  default environment : /Users/kmajeed/anaconda
     envs directories : /Users/kmajeed/anaconda/envs
        package cache : /Users/kmajeed/anaconda/pkgs
         channel URLs : http://repo.continuum.io/pkgs/free/osx-64/
                        http://repo.continuum.io/pkgs/pro/osx-64/
          config file : None
    is foreign system : False

但是在终端运行以下命令时,却显示我安装的是python 2.7.5。

khurramsmacbook:~ kmajeed$ which python
/usr/bin/python
khurramsmacbook:~ kmajeed$ python --version
Python 2.7.5
khurramsmacbook:~ kmajeed$ 

我还通过.bash_profile设置了我的$PATH变量。

khurramsmacbook:~ kmajeed$ $PATH
-bash: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/Users/kmajeed/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin: No such file or directory

我该如何解决这个问题呢?

4 个回答

0

Python 3.3 的解释器应该和 Python 在同一个文件夹里。你可以选择以下几种方法来解决这个问题:A) 改变符号链接(这不是最好的选择)。B) 创建一个新的链接,指向 Python 3。或者 C) 你可以使用 IDLE。IDLE 是一个还不错的集成开发环境(IDE),它有一个命令行界面。使用 IDLE 很简单,你只需要运行它,不用去创建链接或其他复杂的操作。而且 IDLE 也得到了 Python 的支持。你可以在这里下载:https://www.python.org/download/

1

你的电脑上已经安装了Anaconda,但它没有放在最前面,所以系统默认使用的是位于/usr/bin的Python。你可以按照MattDMo的建议,编辑一下你的~/.profile文件,调整一下顺序。

1

如果你想在终端输入 python 时运行 Python 3.4.1,你需要在你的 .bash_profile 文件里加上以下这一行:

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

终端会按照顺序查找你的 PATH,所以现在的设置下,它还是先在 /usr/bin 里找。加上新的设置后,它会先在 /Users/kmajeed/anaconda/bin 里找。

5

Python 2.7.5 可能是你在 OS X 系统上预装的版本。

你可以用 python3.4 来运行程序,而不是用 python。在脚本的第一行加上这个;

#!/usr/bin/env python3.4

在命令行中(对于没有设置可执行权限和没有上面那行的脚本),你可以用;

python3.4 <scriptname>

/usr/bin 里的 python 可能是指向 python2.7 的一个符号链接。你可以把它替换成指向 python3.4 的符号链接。但我不推荐这样做,因为这会导致一些原本为 Python 2.7 编写的程序无法正常运行,因为 Python 2 和 Python 3 之间有很多不兼容的地方。

撰写回答