如何在 OS X 上将 Python 的默认版本设置为 3.x?[重复]

2024-12-19 09:24:00
admin
原创
124
摘要:问题描述:我正在运行 Mountain Lion,基本默认 Python 版本是 2.7。我下载了 Python 3.3 并想将其设置为默认值。现在:$ python version 2.7.5 $ python3.3 version 3.3 我该如何设置它以便每次运行时都$ python打开...

问题描述:

我正在运行 Mountain Lion,基本默认 Python 版本是 2.7。我下载了 Python 3.3 并想将其设置为默认值。

现在:

$ python
    version 2.7.5
$ python3.3
    version 3.3

我该如何设置它以便每次运行时都$ python打开 3.3?


解决方案 1:

更改系统范围内默认的 python 可执行文件的版本可能会破坏一些依赖于 python2 的应用程序。

但是,您可以在大多数 shell 中为命令添加别名,因为 macOS 中的默认 shell(10.14 及以下版本中的 bash;10.15 中的 zsh)具有相似的语法。您可以
alias python='python3'
在您的 shell 中输入~/.profile,然后~/.profile在您的~/.bash_profile和/或您的~/.zsh_profileshell 中输入 source,如下所示:

[ -e ~/.profile ] && . ~/.profile

这样,你的别名就可以跨 shell 起作用了。

这样,python命令现在调用。如果您偶尔python3想调用“原始”python(指python2command python ),则可以使用,这将保持别名不变,并且在所有 shell 中均可使用。

如果您更频繁地启动解释器(我会),那么您也可以创建更多别名来添加,即:

alias 2='python2'
alias 3='python3'

提示:对于脚本,不要使用如下的 shebang:

#!/usr/bin/env python

使用:

#!/usr/bin/env python3

这样,系统将使用 python3 来运行 python可执行文件

解决方案 2:

您可以通过符号链接解决它。

unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python

解决方案 3:

打开~/.bash_profile文件。

vi ~/.bash_profile

然后按如下方式输入别名:

alias python='python3'

现在保存文件,然后运行~/.bash_profile文件。

source ~/.bash_profile

恭喜!现在,你可以通过输入python来使用 python3 。

python --version

Python 3.7.3

解决方案 4:

我也遇到了这个问题,所以我想我应该发布一个更新的答案。请注意,这仅适用于基于 Mac 的设置(我还没有在 Windows 或任何 Linux 版本上尝试过)。实现此操作的最简单方法是通过Brew安装 Python 。如果您没有安装 brew,则需要先安装。安装后,在终端中执行以下操作:

brew install python

这将安装 Python 3。安装完成后,运行以下命令:

ls -l /usr/local/bin/python*

您将看到 brew 创建的指向其 Python 安装的所有链接。它看起来如下所示:

lrwxr-xr-x  1 username  admin  36 Oct  1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x  1 username  admin  43 Oct  1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x  1 username  admin  38 Oct  1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x  1 username  admin  45 Oct  1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x  1 username  admin  39 Oct  1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x  1 username  admin  46 Oct  1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config

此示例中的第一行显示python3符号链接。要将其设置为默认python符号链接,请运行以下命令:

ln -s -f /usr/local/bin/python3 /usr/local/bin/python

类似地,你也可以设置 pip 符号链接

ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip

您必须重新加载当前终端 shell,才能在该 shell 中使用该新符号链接。运行以下命令重新加载 shell:

exec $SHELL -l

现在一切就绪。现在,您可以执行以下操作:

which python

它应该显示:

/usr/local/bin/python

所有新打开的 shell 会话将(应该)自动使用新的符号链接。要测试这一点,请打开一个新的终端 shell 并运行以下命令:

python --version

解决方案 5:

进入终端类型:

alias python=python3.x

这将设置默认 python 为 python3.x

解决方案 6:

这对我有用。我添加了别名并重新启动了终端

alias python=/usr/local/bin/python3

解决方案 7:

以下对我有用

cd /usr/local/bin
mv python python.old
ln -s python3 python

解决方案 8:

转到“应用程序”,进入“Python”文件夹,应该有一个名为“Update Shell Profile.command”或类似的 bash 脚本。运行该脚本,它应该会执行此操作。

更新:看起来你不应该更新它:如何更改默认的 python 版本?

解决方案 9:

我相信大多数来到这里的人们都是通过 iterm 或其他方式使用 ZSH 的,这就引出了这个答案。

您必须添加/修改您的命令~/.zshrc

解决方案 10:

$ sudo ln -s -f $(which python3) $(which python)

完毕。

解决方案 11:

Mac 用户只需在终端上运行以下代码

brew switch python 3.X.X

3.xx应该是新的python版本。

这将更新所有系统链接。

更新

对于较新版本的 MAC 使用

brew link python 3.X.X

解决方案 12:

建议将 python 别名为 python3,这将导致设置 python 版本的虚拟环境出现问题(例如:pyenv)。使用 pyenv,您可以像这样全局设置版本:

pyenv global 3.8.2

然后在任何特定项目中,您可以创建一个包含 python 版本的 .python-version 文件:

pyenv local 2.7.1

在我看来,这是在系统上管理系统的多个 Python 版本的最佳方式。

解决方案 13:

在 MacOS 上

步骤 1:通过以下方式将 Python 升级到最新版本:$ brew upgrade python

步骤 2:返回主页:$ cd

步骤 3:打开 .bash_profile

$ vi .bash_profile

为 Python 3.8 设置 PATH

PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}" 导出路径

步骤 4:保存文件。然后通过以下方式编译:

$..bash_profile

步骤5:检查python版本:

$ python -V

步骤6:就这样。

解决方案 14:

我认为当您安装 Python 时,它会将导出路径语句放入您的 ~/.bash_profile 文件中。因此,如果您不打算再使用 Python 2,则可以从那里删除该语句。如上所述的 Alias 也是一种很好的方法。

以下是如何从 ~/.bash_profile 中删除引用 - vim ./.bash_profile - 删除引用(又称为:export PATH="/Users/bla/anaconda:$PATH") - 保存并退出 - source ./.bash_profile 保存更改

解决方案 15:

根据我的经验,这是最简单的方法。(如果你的 Mac 上安装了 brew)。

从你的终端尝试这个:

brew install python3

然后在终端上运行以下命令:

ls -l /usr/local/bin/python*

提示:

*(记下终端上显示的 python 版本 3.8 或 3.9。下一步需要用到它)。例如在我的情况下是:*

lrwxr-xr-x 1 个用户 管理员 24 五月 7 14:33 /usr/local/bin/python -> /usr/local/bin/python3.9

现在在你的终端上运行以下命令:

ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python

(其中 3.9 是使用上一个命令在终端上显示的版本)

完成了!

要测试你的默认 Python 版本:

  1. 关闭当前终端或启动一个新终端并

  2. 运行以下命令:

python --version

祝您编码愉快!

解决方案 16:

对我来说,解决方案是使用 PyCharm 并将默认的 python 版本设置为我需要使用的版本。

安装 PyCharm 并转到文件 ==> 新项目的首选项,然后选择项目所需的解释器,在本例中为 python 3.3

解决方案 17:

如果您使用 macports,则无需使用别名或环境变量,只需使用 macports 已经提供的方法,如本问答所述:

如何:Macports 选择 python

总结:

sudo port select --set python python27

解决方案 18:

我不确定这在 OS X 上是否可用,但在 Linux 上我会使用该module命令。 请参阅此处。

正确设置模块文件,然后将类似这样的内容添加到您的 rc 文件(例如 ~/.bashrc):

module load python3.3

这样,当您登录时,您的路径就会根据需要切换,而不会影响任何系统默认值。

解决方案 19:

如果你正在使用 macports,那么有一个更简单的方法:

跑步:

port install python37

安装后,设置默认:

sudo port select --set python python37

sudo port select --set python3 python37

重新启动cmd窗口,完成。

解决方案 20:

嗯...这个问题有点老了。但仍然值得一个好的答案。

好的一个是《你不想触碰 Mac 上的默认 Python》。

通过 Homebrew 或其他方式安装您需要的任何 Python 版本,并在虚拟环境中使用它。虚拟环境通常被认为是垃圾,但它仍然比在系统范围内(macOS 可能会保护自己免受此类操作的影响)或用户范围内、bash 范围内更改 Python 版本要好得多……无论如何。忘掉默认的 Python 吧。使用像 venv 这样的游乐场是您的操作系统最感激的事情。

例如,许多现代 Linux 发行版都删除了开箱即用的 Python2,只在系统中保留 Python3。但每次你尝试安装带有 Python2 依赖项的旧版本时……希望你能理解我的意思。优秀的开发人员不会在意这些。优秀的开发人员会使用他们想要的 Python 版本创建干净的操场。

解决方案 21:

如果您正在使用virtualenvwrapper,您可以使用找到它which virtualenvwrapper.sh,然后使用或任何其他编辑器打开它,vim然后更改以下内容

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command which python)"
fi

将该行更改VIRTUALENVWRAPPER_PYTHON="$(command which python)"VIRTUALENVWRAPPER_PYTHON="$(command which python3)"

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用