我正在使用pyinstaller
为我的单个python文件生成.exe
文件,但大小超过30MB并且启动非常慢。据我所知,pyinstaller 默认情况下捆绑了很多不需要的东西。有没有办法确保 pyinstaller 找出只需要什么并仅捆绑它们?我的脚本导入部分如下所示:
import datetime
import os
import numpy as np
import pandas as pd
import xlsxwriter
from tkinter import *
编辑:
或者还有一种方法可以查看它捆绑的所有模块的列表?这样我就可以仔细检查它们并排除那些我不需要的。
最佳答案
为此,您需要创建一个单独的环境,因为当前您正在读取计算机上安装的所有模块。 创建环境运行命令
1 - 如果您没有,请创建一个 requirements.txt
文件来保存您正在使用的所有包,您可以使用以下命令创建一个文件:
pip freeze > requirements.txt
2 - 创建 env 文件夹:
python -m venv projectName
3 - 激活环境:
source projectName/bin/activate
4 - 安装它们:
pip install -r requirements.txt
或者,如果你知道你只使用 wxpython,你可以pip install wxpython
5 - 最后您可以使用 --path
arg 在主脚本上运行 pyinstaller
,如 this answer 中所述。 :
pyinstaller --paths projectName/lib/python3.7/site-packages script.py
关于python - 如何在 pyinstaller 中仅包含所需的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55312146/