在Mac上将python3作为我的默认python

Sam*_*Kim 39 python macos terminal homebrew python-3.x

我在这里要做的是将python3作为我的默认python.除了自动安装在mac上的python 2.7之外,我用自制软件安装了python3.这是我关注的网站.http://docs.python-guide.org/en/latest/starting/install3/osx/#install3-osx

我想我很好地遵循了每条指令,新安装了xcode,命令行工具和自制程序.但这是我的小困惑发生.

该脚本将解释它将进行的更改,并在安装开始之前提示您.安装Homebrew后,将Homebrew目录插入PATH环境变量的顶部.您可以通过在〜/ .profile文件的底部添加以下行来完成此操作

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

我真的很困惑这是什么,但我得出结论,我应该在〜/ .profile文件的底部添加以下行.所以我在终端打开.profile打开了〜/ .profile文件,并在底部添加了以下行.现在它看起来像这样.

export PATH=/usr/local/bin:/usr/local/sbin:$PATH
# Setting PATH for Python 3.6
# The original version is saved in .profile.pysave
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)

然后我做了brew install python,当我做python --version时希望看到python3 . 但它只是向我展示了python 2.7.10.我希望我的默认python是python3而不是2.7

我从网站上找到了一点线索.

我安装了Python 3吗?

$ python --version
Python 3.6.4
Run Code Online (Sandbox Code Playgroud)

如果你仍然看到2.7确保PATH/usr/local/bin /取/ usr/bin /

也许它必须与PATH做点什么有人可以用简单的英语解释什么是PATH究竟是什么以及当我在终端中运行python -version时如何使我的默认python成为python3 ?

nba*_*ari 94

可能最安全和最简单的方法是使用brew然后只需修改你的PATH:

第一次更新brew:

brew update
Run Code Online (Sandbox Code Playgroud)

接下来安装python:

brew install python
Run Code Online (Sandbox Code Playgroud)

这将安装和symlink python3到python,更多细节做:

brew info python
Run Code Online (Sandbox Code Playgroud)

寻找警告:

==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin
Run Code Online (Sandbox Code Playgroud)

然后添加到您的路径/usr/local/opt/python/libexec/bin:

export PATH=/usr/local/opt/python/libexec/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

顺序PATH是重要的,首先,/usr/local/opt/python/libexec/bin将有助于优先考虑brew安装(python3),而不是你的系统中的那个/usr/bin/python

  • 我以为他们去年停止这样做了:https://github.com/Homebrew/homebrew-core/pull/14408 (6认同)
  • Homebrew没有自动更新我的路径. (6认同)
  • 哇这个工作!你真棒,谢谢! (3认同)
  • 这个答案仍然适用于在警告中列出“/usr/local/opt/python@3.9/libexec/bin”的最新 Homebrew 公式,因为“/usr/local/opt/python”提供了合适的符号链接。 (3认同)

Kru*_*iya 42

在我们进行更改之前,我系统中的默认 python 版本是 python 2.7.17。

python --version

蟒蛇 2.7.17

通过替换 Ubuntu 中的 python2 使 python3 成为默认 python。

  1. 打开终端
  2. cd
  3. nano ~/.bashrc
  4. alias python=python3 (在 .bashrc 文件顶部添加这一行)
  5. ctr+o (保存文件)
  6. Enter
  7. ctr+x (退出文件)
  8. source ~/.bashrc . ~/.bashrc (刷新 bashrc 文件)

python --version

蟒蛇 3.7.5

  • 虽然版本改成了python3,但是默认的python仍然是python 2.7。就像当你打开一个新的 jupyter 笔记本,或者安装一个新的包时,活动的 python 仍然是 2.7。 (3认同)
  • 组织得很好的答案。:+1 (2认同)
  • 答案开门见山。它适用于 macOS catalina 10.15.3 (2认同)
  • 正如 @nightrain 指出的那样,这只在某些时候有效。您实际上并没有在系统范围内选择新版本的 python,这只会在直接从命令行调用时改变 python 的使用(而不是从其他不使用 bash 别名的程序调用) (2认同)

Rei*_*ica 6

在系统范围内更改默认的 python 版本可能会破坏一些依赖于python2. 另一种解决方案是创建一个alias.

如果您使用的是zsh(默认值 on Mac OS),请从终端运行以下命令:

echo 'alias python="python3"' >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

  • 没关系,它现在对我有用。我必须获取 zshrc 的源码 (2认同)

Jon*_*han 5

根据这篇 SO post,更改默认 Python 解释器可能会破坏某些依赖 Python 2 的应用程序。

该帖子还提到使用别名作为解决方案,此链接也可能是有关如何执行此操作的很好参考。

就个人而言,我只是在运行脚本或进入 shell 环境之前输入“Python3”而不是“python”。