《Python硬件编程实战》——2.4 常见软件的发布格式

本节书摘来自华章计算机《Python硬件编程实战》一书中的第2章,第2.4节,作者:李茂 著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4 常见软件的发布格式

至此,我们清楚了Python的版本选择:建议初学者选择32位的Python 2且是32位的Python。接下来,很自然所能想到的就是去合适的地方找到所需的版本再去下载即可。
不过在下载之前还要搞清楚一些关于软件发布格式方面的基本概念:在计算机领域内的软件方面,尤其是软件中的开源软件,在一款新的软件发布时往往有多种形式发布出来供用户下载。并且对于这些不同形式的可下载的东西,往往又提供了多种不同的下载源。只有对于这方面的内容有所了解,才能更好地在后续下载Python时明确和选择最合适的东西去下载。下面就来简要介绍一下这方面的基本概念。
2.4.1 源码格式
很多软件,尤其是开源软件,它们发布的策略中包含提供软件的源代码,这种做法有很多好处,包括但不限于:
用户可以提交已知的问题(bug),以便软件作者得知软件存在的相应问题,而后再去修复问题。甚至有些时候会出现提交bug的用户自己去解决该问题,并且公布和提交了自己的解决办法。
用户在自己写代码增加了新功能后,可以主动提交自己新增加的功能对应的代码。
很明显,上述的做法可以促进软件本身的发展,提高软件的质量,增强软件功能。
不过好处的另一方面也存在一些相对的缺点:对于软件普通的使用者,尤其那些专业知识水平相对不足,更加关注软件的使用而不关心软件开发的人来说,这些源码基本上是没帮助的,也是无需关心的。目前国内的这类用户比较多,所以此时只需要搞懂如何使用软件即可。虽然不需关心软件源码,要明白很多软件是有发布源码的,要知道有这
回事。
下面简要介绍一下常见的源码的下载格式。
(1).tar
把一个或多个文件的源码打包、集成到一起,成为一个单独的文件。
把tar解开为源码的方式有:
Linux下用tar
常见的用法:

tar xvf xxx.tar

Windows下用WinRAR或7-zip等压缩软件
用鼠标右击.tar文件,选择解压即可。
(2).gz
常见的后缀是.tar.gz。表示在打包的基础上,又进一步去压缩而使得文件变得更小,更省空间。
将gz解开为源码的方式有:
Linux下用tar
常见的用法:

tar xvzf xxx.tar

Windows下用WinRar或7-zip等压缩软件
用鼠标右击.gz文件,选择解压即可。
(3).zip
将源码压缩为单个文件。
将zip解开为源码的方式有:
Linux下用unzip
常见的用法:

unzip xxx.zip

Windows下用WinRar或7-zip等压缩软件
用鼠标右击.zip文件,选择解压即可。
(4)7z
由于7z的格式比zip格式压缩效果更好,所以很多源码也通过7z格式提供。
将7z解开为源码的方式有:
Windows下用7-zip
用鼠标右击7z文件,选择解压即可。
(5).tar.xz
.tar.xz为新出现的一种压缩格式,压缩效果比zip好。
2.4.2 二进制格式
与软件的源码相对应的是经过软件源码所编译后的那些可以直接拿来安装和运行的文件,即此处将要详细解释的二进制格式的软件。再具体点说就是,上述所提到的软件的源码,在某些平台和环境下,用对应的编译器去编译出来的,可以运行的二进制版本的该软件。对于二进制版本的软件,其发布格式往往也有很多种。现在就来详细解释不同形式的二进制版本的含义。
1.二进制格式:免安装版和安装版
根据二进制文件是否需要安装又可以分为免安装版和安装版。
(1)免安装版
免安装即无需安装,这往往意味着是可移植、可移动的,所以免安装版本往往也被叫作:
可移植版本==可移动版本==portable version
它们一般都是以压缩包的格式提供,常见的压缩包的格式为:zip和7z。
将其下载后再去解压即可得到对应的文件夹,其中就可包含可执行文件,正常双击去运行程序即可而无需安装。
(2)安装版
安装版即所谓的安装包,就是去下载对应的安装版的程序。
Windows中一般是exe或msi格式。下载对应的exe或msi文件,然后双击安装即可。
Linux中不同发行版的格式不同。Debian类的Linux系统,比如Ubuntu等,支持.deb格式的文件;RedHat之类的系统支持.rpm格式的文件;其他Linux系统各自有自己所支持的不同格式的文件。
2.二进制格式:官网版和第三方版
根据二进制文件的发布者、制作者不同,又可分为官方版和第三方版。
(1)官方版
官方版==官网版,此处主要指的是某软件的官网制作和发布的版本。
(2)第三方版
此处主要指的是相对于软件官方来说的某个第三方,由于某些原因或为了特定目标专门在官网版本的基础上或者是独立从源码编译,同时可能额外添加很多模块、功能而发布的不同的版本,目的是为了满足不同人的不同需要。

上一篇:StrutsTestCase测试Struts应用程序


下一篇:数据中心趋势迫使重新人们审视数据库