当前位置:首页>python>Pynsist:一个能把你的Python程序高效打包成Windows安装程序的工具

Pynsist:一个能把你的Python程序高效打包成Windows安装程序的工具

  • 2026-10-11 08:26:43
Pynsist:一个能把你的Python程序高效打包成Windows安装程序的工具

说实话,每次把我写好的Python小工具发给非技术朋友,对方一句“双击咋没反应?”我就知道——完了,又得解释“你要先装Python,还要装依赖包”。一来二去,对方头大,我也心累。直到我遇到了Pynsist,这玩意儿简直就是救星。

什么是Pynsist?

简单说,Pynsist是一个能把你的Python程序打包成Windows安装程序的工具。用户拿到后双击安装,就跟装QQ、微信一样,完事直接点图标运行——他们根本不需要知道Python是啥。

你可能会说:“PyInstaller不也能打包成exe吗?”对,但Pynsist的思路不一样。它不是把代码和Python解释器揉成一个巨型exe,而是把Python、你的代码、依赖包全部塞进一个标准的NSIS安装包里。装完后,桌面上就有个快捷方式,点开就能跑。个人感觉这种方式更“正规”,而且更新某个依赖文件也更灵活。

快速上手,三分钟搞定

安装Pynsist之前,你需要先装一个叫NSIS的工具(Nullsoft Scriptable Install System,别怕,就是安装包制作器)。装好之后,命令行里敲:

pip install pynsist

然后写一个配置文件,比如叫installer.cfg。举个例子,假设你写了个叫“我的计算器”的程序,入口是calculator.py里的main函数,配置文件长这样:

小节
内容
说明
[Application]
name=我的计算器
version=1.0
entry_point=calculator:main
应用名称、版本号、启动命令
[Python]
version=3.6.3
要捆绑的Python版本
[Include]
pypi_wheels = requests==2.18.4
     beautifulsoup4==4.6.0
依赖包(必须是有wheel的)
files
LICENSE
data/
额外需要打包的文件或文件夹

写好之后,运行:

pynsist installer.cfg

等几秒钟,build/nsis/目录下就会蹦出一个MyAppInstaller.exe。发给朋友,双击,安装,搞定。

一个小坑,你得知道

依赖包必须要有wheel文件。什么意思?比如你用了numpy或pandas,它们默认不提供wheel(至少旧版本这样),Pynsist就直接报错。解决办法有两个:要么自己去找别人编译好的wheel,要么换一个纯Python的替代库。我第一次用的时候就卡在这儿,折腾了半天才明白——别像我一样踩坑。

另外,Pynsist 2.7要求你的Python版本在3.6以上。如果你还在用Python 2.7,那得找1.x的老版本,不过还是赶紧升级吧,别守着了。

适合谁用?

  • • 你写了个数据分析小工具,要给财务同事用
  • • 你做了个GUI应用(用PyQt、Tkinter都行),想发给客户试玩
  • • 你烦透了跟每个人解释“pip install xxx”
  • • 甚至你只是想把自己写的脚本包装得正式一点,发给面试官也体面

反正我自己的那个小工具,之前一直羞于出手,用Pynsist打了个安装包之后,感觉瞬间“产品化”了。

最后唠叨两句

Pynsist不是什么大而全的打包神器,它解决的就是把Python程序发给Windows普通用户这个具体痛点。不复杂,但真管用。如果你也受够了那些反人类的打包流程,不妨试试它。

项目地址:https://github.com/takluyver/pynsist

最新文章

随机文章