V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
voids
V2EX  ›  Python

用 pyinstaller 打包的程序很大

  •  
  •   voids ·
    ShawnVoid · 2019-09-29 08:28:16 +08:00 via Android · 5134 次点击
    这是一个创建于 1664 天前的主题,其中的信息可能已经有所发展或是发生改变。
    python 新手,检索后发现这个问题和导入全部模块有关,求助 os 只用了 os._exit 的话应该怎么导入。还有 requests 只用了 session 的 post 和 get,除了 import requests 还可以怎么写?谢谢
    13 条回复    2019-09-30 20:47:27 +08:00
    yzc27
        1
    yzc27  
       2019-09-29 08:29:54 +08:00
    from requests import get, post

    随手猜的。
    liukrystal
        2
    liukrystal  
       2019-09-29 09:10:23 +08:00
    进 pipenv,用虚拟环境,只安装 py 文件里需要的包,会小很多。
    cherbim
        3
    cherbim  
       2019-09-29 09:10:37 +08:00 via iPhone   ❤️ 1
    你打包的时间会把你 Python 安装的所有的库都搞下来导致 exe 运行文件比较大一般都是上百 m,所以一般都是虚拟环境里安装,用哪个库安哪个库,这俩库并不是很大啊,我记得我一个应用安装了 requests 和 xlml,打包后也才 10m 左右……
    cherbim
        4
    cherbim  
       2019-09-29 09:11:33 +08:00 via iPhone
    你搜一下教程,虚拟环境里重新打包试试……
    676529483
        5
    676529483  
       2019-09-29 09:12:47 +08:00
    据我所知,pyinstaller 没办法只打包一部分(求大佬更正),用 upx 可以减少几 M。但是在代码量上升的时候,体积变化不大。
    cwjokaka
        6
    cwjokaka  
       2019-09-29 09:15:37 +08:00
    我是建立一个虚拟环境,再打包。之前用系统环境,打出来有 400M😂
    gimp
        7
    gimp  
       2019-09-29 09:22:42 +08:00
    你打出有多大,7,8M 大小正常
    voids
        8
    voids  
    OP
       2019-09-29 09:34:06 +08:00 via Android
    @yzc27
    @liukrystal
    @cherbim
    @cherbim
    @676529483
    @cwjokaka
    @gimp
    谢谢啦,测试了一圈也没有降下来,不过也没有几百 M,日常使用没啥影响了
    kknd22
        9
    kknd22  
       2019-09-29 10:05:12 +08:00
    用 delphi,那个够小,而且不依赖各种库,有时候图标比程序还大
    ClericPy
        10
    ClericPy  
       2019-09-29 22:54:55 +08:00
    虚拟环境有用是明摆着了, 虽然不知道 pyinstaller 为什么非要全部的库都打包进去... 如果有个参数就好了, 或者支持个 Requirements 列表来过滤下

    另外就是, 1 楼的方法究竟是否有用???????????
    ClericPy
        11
    ClericPy  
       2019-09-29 22:57:40 +08:00
    虚拟环境那个有参数... 好像是 -p ......... 不需要进入环境再打包...

    https://pyinstaller.readthedocs.io/en/stable/usage.html#what-to-bundle-where-to-search

    太久不用直接记不起来了, 这几年一直用的 auto py to exe...
    voids
        12
    voids  
    OP
       2019-09-30 08:35:20 +08:00 via Android   ❤️ 1
    @ClericPy 已测试,没有用
    ClericPy
        13
    ClericPy  
       2019-09-30 20:47:27 +08:00
    @voids 好多年没打包了, 一直 shiv 就够我发布, 不知道 py2exe 和 cxfreeze 什么样, 反正 pyinstaller 现在已经要一家独大了...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2104 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:13 · PVG 00:13 · LAX 09:13 · JFK 12:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.