Python的程序好处就是即写即用,用不着编译、链接。随手可以写个程序,然后在命令行上执行(用ipython更佳)。但是有时需要写出来给别人用,把文件传过去后,每次别人用时都要到此目录下,非常的不方便。如果可以安装到用户的PATH目录中,那么就可以在任意目录执行了。幸运的是,实现它非常简单。
对开发者来说,有两个目录会使用到:%PYTHONHOME%/Scripts和%PYTHONHOME%/Lib/site-packages。前一个是用户安装的脚本,后一个是用户安装的库。我们自己写的脚本最快的发布方法就是直接拷贝都第一个目录中。另外还有一个目录是在%APPDATA%/Python/Scripts,如果需要让脚本供多个python版本调用,放在这里是最合适的。
制作安装脚本基本上只需要一个setup.py文件,该文件只需要调用一个函数setup即可。
对于简单的应用,上面几个已经足够了。下面就我实际试验后结果做些记录。
1. 只有一个python脚本的安装
只需要写入scripts参数即可,它会在Scripts目录下生成2份此文件的拷贝:一分带后辍py,用于windows;另一份不带后辍,用于*nux。
2. 如果有多个文件
通常这时你可能需要考虑做一下拆分。把所有的功能都封装成一个模块,而另外一个脚本就相当于C的main文件,只做简单的调用,不要太多处理。
另外,还有一个第三方的setuptools,它同样有一个setup函数,且参数相似,也可以考虑用它来做。setuptools会把scripts指定的部份与packages放在同一个目录下,然后它会在%PYTHONHOME%/Scripts产生一个名字相同的文件,通过它调用放在package那边的对应的文件。这样做的好处是用户代码放得更集中。相信它还有更多的功能,但对于我们来说系统自带已经足够了。
(PS: 在windows上同时装有python2和3的要注意,系统关联.py可执行文件的解释器要注意区分版本。)