这么多的python,我需要哪个?

时间:2019-04-04 04:57:51

标签: python macos

似乎我的Mac(High Sierra)上安装了多个Python版本。我真的需要多个Python 2.7和最新的Python3吗?

我主要担心在向环境中添加模块时的困惑。

这是我可以找到的python可执行文件,不包括符号链接。我需要它们吗?苹果是否仅需要一个版本的操作系统? (也许我正在考虑的是Ruby。_)

/usr/bin/python
/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/Cellar/python/2.7.13/bin/python
/usr/local/Cellar/python/2.7.13/share/python
/usr/local/Cellar/python/3.7.1/libexec/bin/python

3 个答案:

答案 0 :(得分:2)

注意:该答案可能主要基于观点。

首先,在macOS中,建议您使用brew安装python。因此,如果要安装Python 3,请运行:

$ brew install python

可能它已经安装了,所以要运行它来更新它:

$ brew upgrade python

这将升级到最新版本的Python3。通常,如果启动一个新项目,则应使用Python3。请记住,Python 2将于2019年底弃用。

第二,我强烈建议您使用virtual environments以避免依赖项出现问题。您可以创建一个运行以下虚拟环境:

$ python3 -m venv .ven

这将在当前工作目录的.venv中创建一个虚拟环境。

您也可以使用pipenv来跟踪依赖关系,我也鼓励您使用brew安装。

$ brew install pipenv

然后您创建一个运行以下虚拟环境:

$ pipenv --three

请记住,您的计算机python中将有两个版本的Python,即Python 2(默认安装在计算机中)和python3,其是Python3。然后,如果需要要运行Python 2,只需键入python,而如果要运行Python 3,则键入python3

最后,您还可以使用pyenv跟踪多个python版本。如果您需要使用多个版本的Python,例如Python 3.1、3.2、3.3 ...,3.6、3.7.1、3.7.2、3.7.3等,这非常有用。

这对我使用macOS的经验很有用。您也可以使用Docker来完全隔离您的环境,但是如果您是初学者,那么前两点就足够了。

答案 1 :(得分:2)

在MacOS上,您 需要在/usr/bin/python中安装系统安装的Python 2,因为某些系统功能依赖于它。

如果您通过Homebrew或其他方式安装了其他版本,则绝对是可选的。要使用Python开发代码,请务必安装最新版本的Python 3;您不应该在旧版本2中开发新代码。它将在一年左右的时间内用完支持,并且许多重要的第三方库等都已经放弃了对它的支持。

如果您确实需要维护Python 2代码,那么拥有最新Python 2.7.13的Homebrew版本可能是一个好主意。系统/usr/bin/python的MacOS Mojave版本为2.7.10;如果我们从Apple的更新政策历史记录中推断出系统中的第三方开源软件,它可能会保留很多年。

Homebrew只是安装其他Python版本的许多方法之一,但是由于这似乎是您正在使用的(如/usr/local/Cellar路径所示),因此我将不介绍其他方法。

对于版本之间的切换,virtualenv是常见的基准,尽管有许多插件,例如pyenv等,它们为需要不同版本的Python和更高版本的项目之间的切换添加了便利功能或替代模型。各种包装。

答案 2 :(得分:1)

虽然Python 3.x是当今应实现的python解决方案,但许多现有的python应用程序,模块等都在2.7或更低版​​本中实现和维护。有时,您会在计算机上找到多个版本的python,因为过去下载的应用程序是在安装时安装的,因此它们的应用程序可以在您的计算机上正常运行。只要您不想要或需要可能依赖于python过去版本的应用程序,就可以更新到最新版本并删除旧版本。

如果您打算使用python开发,并且可以使用最新版本,则绝对应该这样做。如果您在计算机上删除了python版本,则应用程序,模块/脚本等可能无法正常工作或运行。

Python预先安装在Mac OS X上,但不一定要在计算机上运行Python,只是可能在计算机上使用Python的应用程序