有区别吗?
由于教程的Chapter 2和我对S.O.的任何搜索,我都没有假设。谷歌已透露任何内容。
我做了我的python3二进制文件和python3.2二进制文件的md5和它们是相同的。
出于好奇心的缘故,我只是想知道它是否就像在兼容模式下只运行bash的系统运行一样。
编辑:更清楚的是,Mac OS X使用Mac OS X安装程序从python.org安装了Python 3。它们不是符号链接,而是两个独立的二进制文件。从提供的答案和他们在其他系统上符号链接的方式告诉我,没有没有兼容模式或类似的东西,只需使用python3。 ;)谢谢。答案 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。