请教大佬,怎么把 Python 项目打包成 exe 程序

2020-09-12 18:46:23 +08:00
 vincekang

请大佬指点,这是我用 Python 开发的爬虫项目InfoSpider,issues 中提到最多的就是安装环境出现问题,如何把这个项目打包成.exe 程序,让用户直接双击打开即可使用,从而免去安装 python 环境和各种库的麻烦,有哪些比较成熟的方案或者哪些工具能实现这个需求? 在此先感谢大佬不吝指点!项目地址

5084 次点击
所在节点    Python
40 条回复
skylee03
2020-09-12 18:49:00 +08:00
pyinstaller
dlsflh
2020-09-12 19:26:35 +08:00
我觉得打包后你就该愁如何减小体积了,是个大坑…
waytoshine
2020-09-12 19:52:06 +08:00
用 python 搞 exe,是个大坑,恭喜你踏上了一条没有尽头的路
tetora
2020-09-12 19:57:13 +08:00
把环境搭建写成脚本
benjix
2020-09-12 20:06:27 +08:00
pyinstaller,nuitka
love
2020-09-12 20:22:42 +08:00
其实最简单的方法是下个绿色 python,写个启动脚本就行,我以前就是这么干的
676529483
2020-09-12 20:31:46 +08:00
pyinstaller + 1,其他的基本都是特定平台的
renmu123
2020-09-12 20:57:33 +08:00
Python 下打包基本只有 pyinstaller 可用,但是坑点非常多,用起来体验是比较难受的
ila
2020-09-12 21:02:51 +08:00
欢迎来到 golang,一键编译,一个 exe
Enying
2020-09-12 21:04:22 +08:00
这个也是我最近想玩的
z0wjqnxi
2020-09-12 21:09:59 +08:00
exe 打出来可能比 docker 镜像都大…
darer
2020-09-12 21:11:15 +08:00
开源项目做那么多保姆行为干啥…
他们不会用就让他们去提升自己
limuyan44
2020-09-12 21:32:27 +08:00
以前我学的时候也很疑惑,后来我打开搜索引擎,看了几个文章 5 分钟后我已经跑出第一个包了。
jin7
2020-09-12 22:27:43 +08:00
弄 docker 镜像也不错. 不用适配各种系统了...
弄成 exe 貌似 pyinstaller 比较简单
Oceanhime
2020-09-12 22:33:02 +08:00
我觉得, 你 "提供数据分析功能\基于用户数据生成图表文件" 都能写了, 不至于连打包成 exe 都不会吧 XD
cherbim
2020-09-12 22:49:51 +08:00
盲猜下一个问题,py 打包成 exe 体积怎么那么大
fansangg
2020-09-12 23:01:30 +08:00
你带 gui 的还是算了吧,很坑的。
xJogger
2020-09-12 23:04:31 +08:00
1. 下载 embed 版 Python 并解压: https://www.python.org/downloads/windows/
2. 下载 get-pip 并放入 embed 版 Python 文件夹中: https://pip.pypa.io/en/latest/installing/
3. 打开 embed 版 Python 中的 python**._pth,其中**是版本号,掉 import site 前的注释。
3. 命令行运行 .\python.exe .\get-pip.py
4. 安装需要的 python 模块 .\python.exe -m pip install 模块名 -i https://pypi.doubanio.com/simple --no-warn-script-location
5. 建立一个 bat 的启动脚本,内容:
@.\python.exe .\程序的入口文件.py
@pause
xJogger
2020-09-12 23:07:16 +08:00
如果没有什么隐性依赖,那就 Pyinstaller 一把梭:
pyinstaller -F .\程序入口.py -i .\图标文件.ico
如果单文件太大,可以打包成文件夹:
pyinstaller .\程序入口.py -i .\图标文件.ico
lxilu
2020-09-12 23:32:46 +08:00
建议打包后 release 仍留存不打包的,不然对能搞环境的不好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/706440

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX