排除模块



首先让我告诉大家,我对Python还是个新手。

我有一个非常简单的python文件,我想转换为exe。

由于文件非常简单,我不想在开始时添加任何模块,然后一个接一个地添加必要的模块,测试它们是否真的必要。

为此目的,正如在stackoverflow的一些帖子中建议的那样,我正在通过终端上的这些命令在我的Visual Studio Code IDE中创建和激活一个新的虚拟环境;

python -m virtualenv testenv
testenvScriptsactivate

然后我检查确保没有通过pip freeze安装模块,是的,没有安装模块。

现在在这个虚拟环境中,我输入;

pyinstaller test.py --clean

安装程序创建必要的文件和文件夹,但是尽管在这个虚拟环境中没有安装模块,但我看到在dist文件夹中创建的许多模块实际上安装在主python环境中。

我错过了什么?

也有一个关键字/option/spec文件选项排除在当前环境中安装的所有模块,只包括那些选择?(PS我知道——exclude-module选项和exclude =[]选项在spec文件中,但不想一个接一个地输入所有已安装的模块名称。)

感谢您的帮助。

一旦你激活了你的虚拟环境,确保你的pip install pyinstaller。否则,您将使用全局pyinstaller,它可以访问所有全局模块。

通过将pyinstaller安装到虚拟env中,当您运行该命令时,它将只能访问虚拟env中的模块。

如果在此之后你仍然看到模块,那么这些就是pyinstaller认为运行可执行文件所必需的模块。

最新更新