0
点赞
收藏
分享

微信扫一扫

在 PyInstaller 中添加依赖文件,你可以按照以下步骤操作:

在 PyInstaller 中添加依赖文件,你可以按照以下步骤操作:

  1. 安装 PyInstaller 库:在命令行中输入以下命令来安装 PyInstaller¹:

pip install pyinstaller

  1. PyInstaller 的打包机制:Python 脚本的运行离不开 Python 解释器,把脚本打包成 exe 可执行文件时,PyInstaller 会将 Python 解释器和脚本一起打包,同时把需要用到的第三方库和依赖包一并打入到 exe 文件中¹。
  2. 打包命令:使用以下命令将以 main.py 为主程序的脚本打包为单独一个 exe 文件¹:

pyinstaller -F main.py

-F 参数表示覆盖打包,无论打多少次包都会是最新的¹。

  1. 添加导包外的一些依赖文件:如果程序逻辑中需要依赖一些文件,但 PyInstaller 并不会自动把这些文件帮你打包进去,那该怎么办呢?别急,PyInstaller 为我们提供了参数配置文件,也就是刚刚生成的 .spec 文件,我们只需要在 datas 中配置需要打包的文件即可¹。例如,你可以在 .spec 文件中添加如下代码²:

a = Analysis(['test_2.py', 'C:\\Users\\ASUS\\Desktop\\Conbination\\test\\class_for_test_2_1.py', 'C:\\Users\\ASUS\\Desktop\\Conbination\\test\\class_for_test_2_2.py'],
             pathex=['C:\\Users\\ASUS\\Desktop\\Conbination\\test','C:\\Users\\ASUS\\Desktop\\Conbination'],
             datas=[('C:\\Users\\ASUS\\Desktop\\Conbination\\need_out.dll','.'), ('C:\\Users\\ASUS\\Desktop\\Conbination\\test\\need1.dll','.')],
             ...
)

这样修改后我们就可以使用命令进行再次打包²:

pyinstaller -F test_2.spec

  1. .spec 方式打包:这样修改后我们就可以使用命令进行再次打包¹:

pyinstaller -D xxx.spec

打包完成后打开软件,发现需要用到依赖文件已经成功打包,相关功能就正常啦¹。这些都是 PyInstaller 的 spec 文件中的参数,用于配置打包过程。以下是每个参数的解释:

  • pathex=[]:这是一个列表,用于添加到 sys.path 的路径。这些路径将被用于查找模块和数据文件。
  • binaries=[]:这是一个列表,用于指定要添加到可执行文件的二进制文件。列表中的每个元素都应该是一个元组,形式为 (source, destination),其中 source 是要收集的文件的路径,destination 是相对于顶级应用程序目录的目标目录。
  • datas=[]:这是一个列表,用于指定要添加到应用程序的数据文件。格式与 binaries 参数相同。
  • hiddenimports=[]:这是一个列表,用于指定脚本代码中不可见的导入。这些导入将被添加到可执行文件中。
  • hookspath=[]:这是一个列表,用于指定包含额外的钩子文件的目录。钩子文件用于自定义打包过程。
  • hooksconfig={}:这是一个字典,用于指定钩子配置。钩子配置用于自定义打包过程。
  • runtime_hooks=[]:这是一个列表,用于指定运行时钩子。运行时钩子是在打包的应用程序启动时运行的脚本。
  • excludes=[]:这是一个列表,用于指定要从打包过程中排除的模块。
  • noarchive=False:这是一个布尔值,用于指定是否禁用归档。如果设置为 True,那么所有 Python 模块都将被存储为预编译的 pyc 文件,而不是存储在一个归档文件中。

除了直接使用 pyinstaller 命令生成 spec 文件外,还有其他的方式可以生成 spec 文件:

  1. 使用 pyi-makespec 命令pyi-makespecpyinstaller 的一个子命令,可以用来生成 spec 文件¹³⁴。例如,你可以在命令行中输入以下命令¹³⁴:

pyi-makespec options name.py [other scripts ...]

这个命令会创建 name.spec 文件,但不会继续生成可执行文件¹³⁴。其中,optionspyinstaller 命令中的 options 选项相同¹³⁴。

  1. 修改 spec 文件:创建 spec 文件并对其进行必要修改后,将 spec 文件传给 pyinstaller 命令即可构建应用程序¹²³⁴:

pyinstaller options name.spec

创建 spec 文件时,大多数命令选项都会被编入其中。通过 spec 文件进行构建时,这些选项将无法更改。如果在命令行中再次添加这些选项,则会被忽略,并由 spec 文件中的选项替代¹²³⁴。


举报

相关推荐

0 条评论