PyInstaller包含太多包

时间:2018-02-15 01:35:38

标签: python python-3.x pyinstaller

因此,对于我的更新模块,我有一个带有tqdm的进度条系统。

from tqdm import tqdm
    for i in tqdm(range(3)):
        something()

我希望没有python的朋友可以使用它,所以我使用PyInstaller。但是,PyInstaller创建了50mb的可执行文件。之前我使用过Py2EXE.net,它给了我~6-7MB .exe文件。从输出日志中,我猜测它已经决定复制我的所有网站包,而且我有大约200个包。

如何阻止PyInstaller复制我的所有软件包,只需复制tqdm?

PyInstaller日志

Pastebin Output(日志输出不适合此处。)

2 个答案:

答案 0 :(得分:0)

我只是遇到了这个具体问题。 Tqdm库使用其他大型模块。如果您阅读详细内容,将会看到正在加载多少个模块。 有效地使您的exe达到50MB +〜

具有非常小的依赖性的替代方法。如果您的脚本未导入其他大模块,则exe大小约为5MB。 progress module

答案 1 :(得分:0)

我已通过确保在包含所有必需库的虚拟环境中运行pyinstaller来解决此问题。

创建并激活venv:

python3 -m venv venv
source venv/bin/activate

在venv内安装pyinstaller和所需的库:

pip install pyinstaller

然后捆绑:

pyinstaller myfile.py --onefile