以python3与python3.2的形式调用解释器

以python3与python3.2的形式调用解释器,python,Python,有区别吗 我假设没有,因为无论是教程还是我在S.O.和谷歌上的搜索都没有透露任何信息 我对python3二进制文件和python3.2二进制文件进行了md5求和,它们是相同的 出于好奇,我只是想知道这是否像在兼容模式下只有bash的系统上运行sh一样 编辑:为了更清楚,这是MacOSX,使用MacOSX安装程序从Python.org安装了Python3。它们不是符号链接,而是两个独立的二进制文件。从提供的答案和它们在其他系统上的符号链接方式可以看出,没有兼容模式或类似的东西,只需使用python

有区别吗

我假设没有,因为无论是教程还是我在S.O.和谷歌上的搜索都没有透露任何信息

我对python3二进制文件和python3.2二进制文件进行了md5求和,它们是相同的

出于好奇,我只是想知道这是否像在兼容模式下只有bash的系统上运行sh一样


编辑:为了更清楚,这是MacOSX,使用MacOSX安装程序从Python.org安装了Python3。它们不是符号链接,而是两个独立的二进制文件。从提供的答案和它们在其他系统上的符号链接方式可以看出,没有兼容模式或类似的东西,只需使用python3即可谢谢。

一般来说,这取决于您的系统。在您的系统上,由于md5sum与python3和python3.2匹配,因此它们是相同的

它们很可能是指向同一二进制文件的符号链接

以下是您可以进一步调查的方法:

% which python3
/usr/bin/python3
% which python3.2
/usr/bin/python3.2
% ls -l /usr/bin/python3 /usr/bin/python3.2 /usr/bin/python3.2mu
lrwxrwxrwx 1 root root       9 2011-10-05 16:53 /usr/bin/python3 -> python3.2
lrwxrwxrwx 1 root root      11 2011-09-05 19:04 /usr/bin/python3.2 -> python3.2mu
-rwxr-xr-x 1 root root 2852896 2011-09-05 19:04 /usr/bin/python3.2mu
在某些情况下,如果安装Python3.3,安装程序可能会更改符号链接,以便Python3指向Python3.3

因此,您可以编写脚本来使用python3:

#!/usr/bin/env python3

将使用最新版本的Python3。

您不需要指定您的操作系统,但在Ubuntu(可能还有很多其他系统)上,将python和pythonX链接到pythonX.Y是正常的做法。在我的系统上,我安装了2.7,因此python和python2链接到python2.7。很可能你也有类似的经历

我通常建议使用最不具体的名称,以保证您所需要的。如果您只需要任何特定版本的python,那么就调用python。如果您需要版本3.X,请调用python3。如果出于某种原因,您需要python3.2,那么就调用它。尽可能不具体意味着随着新版本的出现,更新会减少,并提高脚本可移植到其他可能未安装特定版本的系统的可能性