' py'之间有什么区别?和' python'在终端?

时间:2018-06-17 12:09:30

标签: python pip

为什么' py'之间存在差异?和' python',当我用pip通过命令安装模块时:

python -m pip install [Mod]

要么

py -m pip install [Mod]

当我使用Python IDLE时,模块不可用。 此外,当我检查

sys.path

对于蟒蛇和蟒蛇来说,它们都有所不同。和' py。如何制作它们以使它们都相同,并且在安装模块时,安装到可以访问它们的同一文件夹中。

编辑:

我忘了在 windows 上提到这个。 所以无论如何,我执行了

python -V

它说版本是" Python 3.6.4 :: Anaconda,Inc"

虽然:

py -V

给出" Python 3.6.5 "。有多大差异?如果它们是相同版本(3.6),为什么它们有不同的路径?

2 个答案:

答案 0 :(得分:9)

在Windows上

python是Python安装的Python可执行文件,您在安装过程中将其选为默认值。这基本上将该版本的路径放在PATH中,以便可执行文件直接可用。

py Python启动器,它是Windows上安装Python的实用程序。它被安装到C:\Windows\中,因此无需修改PATH即可使用。 Python启动程序会检测您的计算机上安装的Python版本,并能够自动委派给正确的版本。默认情况下,它将使用您计算机上的最新Python版本。因此,如果您安装了2.7,3.5和3.6,则运行py将启动3.6。您还可以通过执行以下操作来指定其他版本py -3.5要求3.5或py -2在您的计算机上启动最新的Python 2版本。

您可以阅读有关启动器in the documentation的更多信息。

现在,我个人从未将Python直接放入我的PATH中。我只使用启动器来实现一切,因为这让我可以更好地控制Python的启动。如果您看到py -m pip install不会为您使用IDLE运行的Python版本安装模块,那么您应该检查它们的版本。每个Python安装都有自己的目录,其中安装了pip模块。所以,如果你是为Python 3.5启动IDLE,你需要确保你也使用Python 3.5运行pip(例如py -3.5 -m pip install)。

在Linux上

python是计算机上默认Python安装的符号链接。对于许多Linux机器,这只是Python 2.即使是不再附带Python 2但仅发布Python 3的发行版也不会将python用于Python 3,因为工具的一般期望是{{1}是一个Python 2.所以他们可能只有一个python符号链接。

Linux上通常不存在

python3,除非您自己设置别名或符号链接。您可以查看pywhich python,了解这些命令究竟是什么。

阿纳康达

您使用的Python版本来自Anaconda,这是一个针对数据科学家的不同Python发行版,它捆绑了很多东西。它使用与python.org中提供的官方CPython版本不同的不同Python版本。我假设默认情况下这些版本不会通过Python启动程序提供。

答案 1 :(得分:1)

@poke提供了一个很好的答案。我想补充一下,您可以在Python文件的顶部添加一个#!/usr/bin/env python2注释,以告诉它要使用的Python版本。

python命令行命令将忽略注释。 py解析注释并使用正确的版本。

我个人将使用py来执行文件。