有人能举例说明如何使用python的msilib标准库模块从自定义python模块创建一个msi文件吗?
例如,假设我有一个名为cool.py的自定义模块,其代码如下
class Cool(object):
def print_cool(self):
print "cool"
我想使用msilib创建一个msi文件,它将在python的site-packages目录中安装cool.py。
我该怎么做?
答案 0 :(得分:5)
您需要为模块编写distutils设置脚本,然后才能执行
python setup.py bdist_msi
将为您的模块创建一个msi-installer。
另见http://docs.python.org/distutils/apiref.html#module-distutils.command.bdist_msi
答案 1 :(得分:0)
我认为存在一个误解:将MS CAB文件视为.zip
- 档案等档案。现在可以将任何内容放入此类存档中,例如cool.py
。但我认为你提到了python源代码,因为你想要它执行,否则只需使用像zip这样的归档,不需要使用mslib
。
如果我是对的,那么您首先需要使用py2exe或pyinstaller之类的内容将脚本转换为可执行文件。