使用 PyInstaller 可以非常方便地将 Python 脚本及其所有依赖项打包成一个标准的可执行文件,这对于程序的分发和部署非常有帮助。...,这个文件包含了你的脚本和所有需要的依赖项。...示例 2:打包含有外部库依赖的项目 对于使用了外部库(如 requests)的项目,PyInstaller 也能够自动检测并包含这些依赖。...这是因为所有的依赖都被打包到了一个文件中,程序在启动时需要解压这些内容。 解决方案:使用 --onedir(默认选项)而不是 --onefile,这样可以让程序快速启动,因为依赖项保持解压状态。...运行时错误 有时候,即使打包过程成功,打包后的应用也可能在运行时出错,比如报告缺少文件或无法加载某些资源。 解决方案:确保所有非代码资源(如图像、数据文件等)都正确包含在打包文件中。
我们平常所写的程序一般都是在编译环境下运行的,然而这对于那些没有开发环境或者对程序一无所知的小白就很不友好了, 所以在进行Python项目开发的后期,对于能够最大化的满足各类型用户的需求,十分有必要的一项工程就是软件打包成...要将Python脚本文件打包成可以使用的Python软件,可以借助的工具有py2exe、bbFreeze、pyInstaller、cx_Freeze、py2app,但对于目前使用性能最好的工具还是pyinstaller...Analysis以py文件为输入,它会分析py文件的依赖模块,并生成相应的信息 PYZ是一个.pyz的压缩包,包含程序运行需要的所有依赖 EXE根据上面两项生成 COLLECT生成其他部分的输出文件夹...c)Hidden import配置 pyinstaller在进行打包时,会解析打包的python文件,自动寻找py源文件的依赖模块。...(10)pyinstaller打包后的路径使用中文没有问题,不过为了减少打包时候出错的可能,尽量将打包使用的资源文件和代码文件路径设置为英文。
PyInstaller是一个极其有用的工具,它可以将Python脚本和所有依赖项打包成一个独立的可执行文件,让您的应用程序可以在没有Python解释器的系统上运行。...自动处理依赖项:它会分析您的Python项目,并将所有必要的依赖项一起打包。生成单个可执行文件:可以生成单个可执行文件,方便分发。...基本使用假设您有一个名为main.py的Python脚本,您可以通过以下命令将其打包成可执行文件:pyinstaller main.pyPyInstaller将自动生成一个名为dist的目录,里面包含了可执行文件...--icon=app.ico main.py处理依赖项PyInstaller在大多数情况下可以自动处理依赖项,但在某些复杂项目中,您可能需要手动配置依赖项。...找不到模块如果在运行生成的可执行文件时出现“找不到模块”的错误,通常是因为PyInstaller在分析依赖项时遗漏了某些模块。
image.png 用过命令pip install pyinstaller安装失败,此包依赖于 pywin32,安装前需要先pip install pywin32, 我安装了还是出错,稍微百度了一下也没有看到解决办法...pyinstaller 简介 pyinstaller 将 Python 脚本打包成可执行程序,使在没有 Python 环境的机器上运行。...但它不是跨编译的,也就是说在 Windows 下用 PyInstaller 生成的 exe 只能运行在 Windows 下,在 Linux 下生成的只能运行在 Linux 下。...打包 打包的 app 里并不包含任何源码,但将脚本的。pyc 文件打包了。...基本语法: pyinstaller options myscript.py 常用的可选参数如下: --onefile 将结果打包成一个可执行文件 --onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件
安装所有软件包的一种简单方法是使用requirements.txt文件,该文件包含该python程序运行所需的所有已安装软件包的列表。...当我们将python脚本文件(.py)转换为可执行文件(.exe)时,可以解决此问题。 获得的可执行文件可以在Windows平台上运行,并且包含运行python程序所需的所有软件包。...什么是Pyinstaller? Pyinstaller是一个python软件包,它将Python应用程序及其所有模块/依赖项捆绑到一个软件包中。...所述dist文件夹中包含的应用程序捆绑和一个可执行文件(.exe文件捆绑的应用程序文件夹中)的文件。 当您运行.exe文件时,您将获得与从python解释器运行时相同的输出。...这里的一个问题是,仍然不能单独共享.exe文件,因为要运行该.exe文件,需要有很多依赖文件。 Pyinstaller为我们提供了各种标志,可帮助我们修改捆绑的应用程序。
前言Python 是一门强大而灵活的编程语言,然而,在与非技术人员分享 Python 脚本时,他们可能不具备安装 Python 解释器的经验。...自动依赖项处理PyInstaller会自动检测Python脚本的依赖项,并将它们打包到生成的可执行文件中。...--onefile --requirements=requirements.txt your_script.py--requirements=requirements.txt: 指定包含依赖项列表的文件...pip install pyinstaller==3.6.0创建 Python 脚本编写你的 Python 脚本,并确保它能够在你的本地 Python 环境中正常运行。...运行点击20231207.exe运行,按照预期运行:总结本文介绍了 pyinstaller 工具的使用以及常用参数,并结合实际案例进行实战将我们的 Pyhton 脚本打包为了 .exe 可执行文件。
2、在VSCode终端中安装pyinstaller: 3、运行以下命令使用pyinstaller将Python项目打包成exe文件: 其中your_script.py是你的Python脚本的文件名。...,里面包含了打包后的可执行文件。...-F your_script.py 其中your_script.py是你的Python脚本的文件名。...请注意,使用pyinstaller打包成exe文件时可能会遇到一些依赖项缺失或路径问题,你可能需要进行一些额外的配置。...dist文件夹,里面包含了打包后的可执行文件。
cx_Freeze是一个脚本驱动的工具,允许用户通过脚本定制打包过程。3、 py2exe :这是一个专为Windows设计的工具,它可以将Python脚本转换成只运行于Windows的可执行文件。...默认情况下,PyInstaller会生成一个包含依赖文件的文件夹。使用此选项后,所有依赖项都会被打包到一个文件中。--noconsole 或 -w:用于GUI应用程序,不显示控制台窗口。...--name=名称:指定输出文件的名称。--paths=路径:在搜索导入的模块时添加额外的路径。...--version-file=文件:添加一个版本资源从指定的文件到可执行文件。--runtime-hook=文件:运行时挂钩是在Python解释器初始化期间运行的脚本。...(四)高级用法1、单文件(--onefile):使用--onefile选项创建单一的exe文件:pyinstaller --onefile your_script.py这将生成一个包含所有依赖项的单个exe
PyInstaller缓存并删除临时文件 关于打包成什么样,有两种选择: -D: 创建包含可执行文件的单文件夹包,同时会有一大堆依赖的 dll 文件,这是默认选项-F: 只生成一个 .exe 文件,如果项目比较小的话可以用这个...不过还没完,因为软件有可能运行不了。 2. 加入依赖项 当我兴冲冲地去运行程序时,出现了这么一个玩意: ? Failed to excute script xxx 啥?为啥会这样。...其实这种情况往往是缺少了一些依赖项导致的。以我的例子来说,我的项目中有一个 config.yaml 文件需要在运行时读取,然而 Pyinstaller 是不会帮你把这些依赖项目也打包的。...安装依赖的库 在虚拟环境下安装 Pyinstaller 和你自己的脚本依赖的第三方库,比如我的就是: pipenv install pyinstallerpipenv install pyqt5pipenv...把你的脚本放到这个目录下面,运行 pyinstaller,方法同前 这时我们就会用虚拟环境下的 pyinstaller 来打包库,由于这个环境比较纯净,所以即便它想乱打包其他的库也打包不了。
我们写好的代码.py源文件,打包成EXE可执行文件,这样即使在没有安装Python的电脑上也可以执行。使用pyinstaller,参数如下(该命令直接在CMD命令提示符中运行): ?...常用参数讲解 -F 表示生成单个可执行文件 -w 表示去掉控制台窗口,这在GUI界面时非常有用(用于windows系统) -p 表示你自己自定义需要加载的类路径,一般情况下用不到 -i 表示可执行文件的图标...-c 使用控制台,无窗口 -D 创建一个目录,里面包含exe以及其他一些依赖性文件 -h 来查看参数 注意事项 .py的源文件命名最好用英文命名,不然有可能打包失败出错 pyinstaller -...F -i d:\Python_tool\09扩容脚本\kr.ico d:\Python_tool\09扩容脚本\自动扩容.py 如上,源代码文件使用的中文名,打包失败: ?...将源代码文件改成英文再次尝试 pyinstaller -F -i d:\Python_tool\09扩容脚本\kr.ico d:\Python_tool\09扩容脚本\Ce.py 打包EXE可执行文件成功
使用PyInstaller生成Python可执行文件: 本教程将介绍如何将Python脚本编译为可执行文件。这允许您的Python代码在可能未安装Python的不同Windows实例中更具可移植性。...首先,我们必须下载必要的依赖项,包括python(本例中为2.7版),对于windows,cygwin(或其他一些变体,我们使用的是PyWin)。...) 安装Pywin32,Setuptools,PyInstaller 安装后: 接下来我们可以运行以下命令来生成python可执行脚本:python pyintaller.py -onefile 这将处理python脚本,提取必要的导入依赖项,并生成一个包含 .txt, .spec和 .exe的新文件夹。...在无法安装和设置Python的系统上运行用Python编写的Windows权限提升漏洞时,将Python脚本编译为可执行文件非常有用。
一.pyinstaller简介 pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1。...但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。...当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32 ? ?...出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功 三.打包 打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。...使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹 ? 2、-p指令 这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。
该应用程序将在托管的网站上运行,但我们也希望用户能够下载一个自包含的应用程序,以便他们可以在本地安装,以获得更好的性能或他们根本无法在教室中使用互联网连接。...用户将无法管理诸如“首先安装 Python,然后安装依赖项,下载 .tar.gz 存档并将这些命令键入命令行…”之类的指令。...您可以使用 pyinstaller --onefile 创建一个单文件exe,这是非常方便的,因为用户只需要单击一下即可运行您的应用程序,而无需安装任何其他东西。...pyinstaller 允许您指定要包含在 exe 中的依赖项,这样您就不必担心用户没有安装正确的 Python 版本或其他依赖项。...示例代码如下:pyinstaller --onefile --windowed my_app.py这将创建一个名为 my_app.exe 的单文件 exe,该文件包含运行应用程序所需的所有内容。
在执行pyInstaller命令的时候,会在和脚本相同目录下,生成一个.spec文件,该文件会告诉pyinstaller如何处理你的所有脚本,同时包含了命令选项。...一般我们不用去理会这个文件,若需要打包数据文件,或者给打包的二进制增加一些Python的运行时选项时…一些高级打包选项时,需要手动编辑.spec文件。...,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。...PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。...可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
在执行pyInstaller命令的时候,会在和脚本相同目录下,生成一个.spec文件,该文件会告诉pyinstaller如何处理你的所有脚本,同时包含了命令选项。...一般我们不用去理会这个文件,若需要打包数据文件,或者给打包的二进制增加一些Python的运行时选项时...一些高级打包选项时,需要手动编辑.spec文件。...python和你的脚本依赖的库。...PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。...可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller 二、PyInstaller的原理简介 PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件...,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。...PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。...可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。...包含exe文件,但会依赖很多文件(默认选项) -w 表示去掉控制台窗口,这在GUI界面时非常有用。
标签:Python,Pyinstaller 你知道吗?你可以封装你的python代码,并提供给其他人去运行,即便他们没有安装python。...可以像计算机(Windows、Mac或Linux)上的任何程序/应用程序一样运行脚本,无需Python,无需安装库。 在某些时候,可能希望将你的Python脚本提供给其他人在他们的机器上运行。...然而,一个常见的问题是,不是每个人都知道Python或者安装了Python。封装是指通过将Python解释器、代码及其所有依赖项捆绑在一起来创建单个可执行文件的过程。...根据官方描述: PyInstaller读取你编写的Python脚本,分析你的代码,以发现脚本执行所需的所有其他模块和库。...然而,该文件夹仍然包含大量文件,其他人可能会混淆要运行哪个文件。pyinstaller方便地提供了一些非常酷的命令行输入参数,我们可以使用它们。
pyinstaller也是支持python3.7的,所以可以放心使用,但是对于其他的库,可能就会有版本问题,所以很容易出错。...不包含 Unicode 字符集支持 -d,--debug 产生 debug 版本的可执行文件 -w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效...当你运行打包后的程序出错的时候,可以去pyinstaller的官方手册下面查看,是否有一致的问题。...spec文件告诉PyInstaller如何处理你的脚本。它对脚本名称和您为pyinstaller命令提供的大多数选项进行编码。spec文件实际上是可执行的Python代码。...通常足以将所有需要的信息(例如隐藏的导入)作为pyinstaller命令的选项并让它运行。
缺点:设置相对复杂,尤其是处理复杂的第三方库依赖时。更新版本后的兼容性问题有时会比PyInstaller更多。3....否则会将真实环境中很多不需要的依赖也打包进去,造成打包后的程序过大2. 定位到你的Python源代码文件使用cd命令切换到包含主Python脚本(例如:main.py)的目录。3....LoadLibrary: 找不到指定的模块。这个错误提示表明在运行使用PyInstaller打包后的exe文件时,系统未能找到Python的动态链接库(DLL)文件——python311.dll。...你需要确保目标机器上有与打包时相同的Python DLL。依赖库缺失: PyInstaller虽然会尝试将所有必要的依赖打包到生成的可执行文件中,但有时可能会遗漏某些动态链接库。...打包参数不足: 确保在打包时使用了正确的参数来确保所有依赖都被包含在内。
选项 描述 -h,–help 查看该模块的帮助信息 -F,-onefile 产生单个的可执行文件 -D,–onedir 产生一个目录(包含多个文件)作为可执行程序 -a,–ascii 不包含 Unicode...如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 -i 选择图标 更多选项可以通过pyinstaller -h命令查看。...: 让我们双击文件就可以看到运行了: 编译出来的.exe文件运行不再需要依赖Python环境,快发给你的其他专业朋友玩玩吧!...---- 4.注意事项 4.1 包文件过大怎么办 利用 PyInstaller 对指定的的脚本打包时,会先分析脚本所依赖的其他脚本,然后根据导包路径去查找,把所有相关的脚本收集起来,包括 Python...为了避免 Pyinstaller 打包后程序或文件夹过大,在引用包时,尽量使用 from ... import ...语句,而不是直接使用import导入整个库,这样可以一定程度减小生成文件的大小。
领取专属 10元无门槛券
手把手带您无忧上云