238

在当今快速开发的软件开发领域中,由于其简洁且易于阅读和强大的功能,它已成为许多开发人员的首选编程语言。但是,脚本的分布和部署一直是一个挑战,尤其是在必要将脚本转换为独立可执行文件时。作为一种有效的应用程序包装工具,可以帮助开发人员轻松将脚本包装到不取决于环境的独立可执行文件中。本文将从基本用法开始,并逐渐渗透到高级功能中。通过示例演示和详细的分析,您将需要您充分掌握此功能强大的包装工具,从而使您的应用程序分发和部署更加方便和高效。

1。这是什么

是将脚本包装到独立可执行文件中的工具。它支持跨平台包装,可用于MACOS和Linux系统。脚本的依赖项会自动处理,并将其包装到可执行文件或包含所有文件的目录中。

功能功能2。如何使用2.1基本用法

1。生成可执行文件:

导航到终端或命令提示符中包含脚本的目录,并运行以下命令:

pyinstaller script_name.py

这将生成一个包含可执行文件的“ DIST”目录。

2。生成一个可执行文件:

如果要将所有依赖项打包到一个单独的可执行文件中,则可以使用``-f`或''':

pyinstaller -F script_name.py

3。指定输出目录:

如果要指定输出目录,则可以使用``-o'or'' - '选项:

 pyinstaller -F -o output_directory script_name.py

4。隐藏控制台窗口:

如果您要打包GUI应用程序并且不想显示控制台窗口,则可以使用``-w`或`'''选项:

pyinstaller -F -w script_name.py

2.2高级选项

- 添加图标:您可以使用`-icon`选项将图标添加到可执行文件:

pyinstaller -F --icon=icon.ico script_name.py

- 指定临时文件目录:您可以使用`` - '选项来指定临时文件目录:

pyinstaller -F --workpath=build_directory script_name.py

- 排除不需要的模块:您可以使用``---'选项来排除不需要的模块:

pyinstaller -F --exclude-module=module_name script_name.py

3。示例3.1单文件包

(1)包装命令:

在终端,py.py文件所在的文件夹和环境

-f main.py

成功包装

(2)修改main.spec配置文件

在括号中是您的py文件,其中是您的文件隐藏的绝对路径。

(3)执行main.spec配置文件

main.spec

3.2多个文件的示例

(1)与一个文件相同

(2)修改规格配置文件

①所有必需的PY文件和绝对路径

数据中存在所有资源

数据是一个列表,数据以二进制形式存储,首先具有数据名称以及相对于.py当前目录的路径。

③最好在EXE文件所在的目录中打开终端,以便即使报告了错误,也不会闪烁。通常,报告错误或终端接口在执行EXE后将消失,并且不会在路径中运行。

4。有关规格的更多详细信息

当然,以下是.spec文件中给出的配置的逐条说明:

a = Analysis(
    ['predict_tianjin.py'],  # 1
    pathex=[],               # 2
    binaries=[],             # 3
    datas=[],                # 4
    hiddenimports=[],        # 5
    hookspath=[],            # 6
    hooksconfig={},          # 7
    runtime_hooks=[],        # 8
    excludes=[],             # 9
    noarchive=False,         # 10
    optimize=0,              # 11
)
pyz = PYZ(a.pure)  # 12
exe = EXE(
    pyz,                     # 13
    a.scripts,               # 14
    a.binaries,              # 15
    a.datas,                 # 16
    [],                      # 17
    name='predict_tianjin',  # 18
    debug=False,             # 19
    bootloader_ignore_signals=False,  # 20
    strip=False,             # 21
    upx=True,                # 22
    upx_exclude=[],          # 23
    runtime_tmpdir=None,     # 24
    console=True,            # 25
    disable_windowed_traceback=False,  # 26
    argv_emulation=False,    # 27
    target_arch=None,        # 28
    codesign_identity=None,  # 29
    entitlements_file=None,  # 30
)

解释:

['.py']:这是主脚本文件的路径列表,将从此脚本分析依赖项。

= []:这是一个附加的路径列表,它将在此列表中的路径中搜索模块。

= []:这是包含非二进制文件(SRC,dETS)的元组的列表,其中SRC是打包文件的路径,DEST是可执行文件中包装文件的路径。

datas = []:这是包含相同格式的包含数据文件的元组的列表。

= []:这是需要隐式导入的模块的列表,这些模块可能不会直接在脚本中导入,但需要包含在软件包中。

= []:这是包含用于处理特定模块包装要求的挂钩文件的路径列表。

= {}:这是挂钩配置的字典,用于将配置选项传递给钩子。

= []:这是在程序开始执行之前将运行的运行时挂钩脚本的路径列表。

= []:这是将从包中排除的模块列表。

= false:如果设置为true,则不会创建库档案,而是将其包含在单独的文件中。

= 0:设置优化级别,0表示未优化,1表示删除断言,而2表示优化字节码。

pyz = pyz(a。

13-30。 exe = exe(...):创建具有以下参数的可执行文件对象:

总结:

通过详细介绍本文,我们对此强大的应用程序包装工具有了更深入的了解。从基本用法到高级功能,它都可以满足不同方案的包装需求,并具有丰富的选项和灵活的配置。无论是简单的脚本包装还是复杂的项目部署,都可以提供强大的支持。通过掌握,我们不仅可以提高开发效率,而且可以使应用程序的分发和部署更简单,更快。我希望这篇文章能成为您在开发道路上的右手助手,并帮助您轻松应对各种包装挑战。

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附: 二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
注:本站所有资源均来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系邮箱:785557022@qq.com 我们将配合处理!
----------------------------------------------------
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。

三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。

----------------------------------------------------