调用解释器为python3 vs python3.2

时间:2012-08-05 15:43:58

标签: python

有区别吗?

由于教程的Chapter 2和我对S.O.的任何搜索,我都没有假设。谷歌已透露任何内容。

我做了我的python3二进制文件和python3.2二进制文件的md5和它们是相同的。

出于好奇心的缘故,我只是想知道它是否就像在兼容模式下只运行bash的系统运行一样。

编辑:更清楚的是,Mac OS X使用Mac OS X安装程序从python.org安装了Python 3。它们不是符号链接,而是两个独立的二进制文件。从提供的答案和他们在其他系统上符号链接的方式告诉我,没有没有兼容模式或类似的东西,只需使用python3。 ;)谢谢。

2 个答案:

答案 0 :(得分:4)

您没有指定您的操作系统,但在Ubuntu(可能还有很多其他系统)上,将python和pythonX链接到pythonX.Y是正常的做法。在我的系统上,我安装了2.7,所以python和python2链接到python2.7。可能你有类似的东西。

我通常建议使用最不具体的名称来保证您的需要。如果你需要的只是任何特定版本的python,那么调用python。如果您需要版本3.X,则调用python3。如果由于某种原因,你需要python3.2,那么调用它。尽可能不具体,意味着在新版本发布时更新更少,并提高脚本可以移植到可能没有安装特定版本的其他系统的机会。

答案 1 :(得分:1)

一般来说,这取决于您的系统。在你的系统上,由于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。

相关问题