python - 如何在 pyinstaller 中仅包含所需的模块?

标签 python pyinstaller

我正在使用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/

相关文章:

c# - 如何将我的 python 模块及其依赖项(例如 Numpy/Scipy)打包到一个文件中,例如用于 C# 调用的 dll?

python - PyInstaller 和 python-docx 模块不能一起工作

python - Python 中按下按键时暂停和继续循环

python - FileNotFoundError : [Errno 2] No such file or directory: . 常量.json

python - os.path 在多个文件导入中使用 Pyinstaller 指向错误的位置

selenium - 163 信息 : UPX is not available. Selenium pyinstaller 一个文件.exe

python - Pandas 中的数据帧丢失日期索引

python - ZODB 中的 zc.lockfile.LockError

python - 如何在Python中进行指数非线性回归

python - Pyinstaller onedir选项-目录外的exe文件