再遇到闪退等问题可以加上命令参数 -D: pyinstaller -D project.py,表示我们打包成一个文件夹,而不仅仅是个 exe 文件,当然这个项目文件夹在 dist 下面。.../sklearn 目录下的对应位置,但是我们看到这个目录下面居然没有 .libs 文件夹,那就在这里(./sklearn)创建一个,然后把那个缺的依赖文件(vcomp140.dll)复制进来就行。...我们可以看到这个问题被解决了,但是会有新的问题,基本都是 sklearn 的问题,这里只是枚举我发生的问题,如果你写的是别的项目,库依赖也很严重,也会有这些问题,可能不是 sklearn,总之肯定是某个包缺失依赖文件或模块文件的问题.../dist/project/ 里面对应的模块所在位置(如果没有找到对应的路径,不存在这个文件夹之类的,就如以上说的建一个 .libs/ 文件夹一样创建一个。)...我们又看到了新的报错: ? 同样的方法,解决这个同样类型的错误,思路「打开开发环境对应的目录找到生成项目目录中缺失的 pyd 文件复制进生成项目目录中对应的位置」。
解决方案: 方案一:(亲测) 在Python的安装路径下找到Scripts文件下的pyinstaller-script.py文件并打开,如果路径没有引号则加上引号 ,路径不对则修改成对应的python.exe...相关参数 -F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用 (这个方便) -D, –onedir 打包多个文件,...,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下...pyinstaller xxxx.py文件,主要目的是为了看报错信息,解决了报错后,再生成完整版的工具 tip:由于我的代码是存在依赖的,即多文件的,而非所有代码都在一个文件中的,所以我在这里没有使用...,我遇到了以下的报错信息,是在dist找到相关的图片资源,所以需要把所有关于工具所需的资源(包含图片以及依赖的.py文件都放进dist下的项目目录中) 2.5、再次运行exe,此时运行成功,说明工具打包成功
1、下载地址:http://www.pyinstaller.org/ 。 2、解压即用(V2.1)。注意环境变量,或者用pyinstaller.py的全路径,或者到解压目录下使用。... //添加图标 (2)、压缩可执行文件(upx) --upx-dir UPX_DIR //指定压缩程序(upx.exe)目录,默认当前目录 FAQ: Q1、ImportError: DLL...load failed A1、walker遇到的情况是引用了pyd文件,而这个pyd文件依赖其他dll库,walker的解决方案是安装VC2010运行时库。...module named uuid A3、很可能是代码中用到了pymssql模块,这时的解决步骤是:①、import decimal;②、import uuid;③、重新编译;④、拷贝_mssql.pyd...Q4、打包成功,运行时报如下错误: Traceback (most recent call last): File "main.py", line 9, in ModuleNotFoundError
标准打包 目前比较常见的打包exe方法都是通过Pyinstaller来实现的,本文也将使用这种常规方法。如果对这块已经很熟悉的小伙伴,可以直接下滑到本文下半部分。 为什么要打包?...这个时候如果将脚本打包成exe文件,微信发送给她,即使她的电脑上没有安装Python解释器,这个exe程序也能在上面运行。岂不美哉? ?...(当然,想通过帮安装Python跟小姐姐建立感情的话,就当我没说) 安装Pyinstaller 首先我们要先安装Pyinstaller,直接在cmd使用pip命令 pip install pyinstaller...执行完毕会发现当前目录多了几个文件夹,打开其中名为dist的文件夹。 ? 已经生成了一个名为py_word的exe应用程序,并且图标也是我们设置的橙子图案,看来已经成功一半了。...在其中一个上显示缺少xlrd这个库,安装后成功打包,也是一样的大小。小伙伴们可以在文末获取文件,也试试。
那今天小五就给大家全面总结一下:Python如何打包成exe,以及如何打得足够小。 标准打包 目前比较常见的打包exe方法都是通过Pyinstaller来实现的,本文也将使用这种常规方法。...这个时候如果将脚本打包成exe文件,微信发送给她,即使她的电脑上没有安装Python解释器,这个exe程序也能在上面运行。岂不美哉? ?...(当然,想通过帮安装Python跟小姐姐建立感情的话,就当我没说) 安装Pyinstaller 首先我们要先安装Pyinstaller,直接在cmd使用pip命令 pip install pyinstaller...执行完毕会发现当前目录多了几个文件夹,打开其中名为dist的文件夹。 ? 已经生成了一个名为py_word的exe应用程序,并且图标也是我们设置的橙子图案,看来已经成功一半了。...在其中一个上显示缺少xlrd这个库,安装后成功打包,也是一样的大小。小伙伴们可以在文末获取文件,也试试。
3、单目录模式 单目录模式是 PyInstaller 将 Python 程序编译为同一个目录下的多个文件,其中 xxxx.exe 是程序入口点(xxxx 是脚本文件名称,可以通过命令行修改)。...如果使用单文件模式,PyInstaller打包生成的是自动解压程序,需要先把所有文件解压到一个临时目录(通常名为_MEIxxxx,xxxx是随机数字),再从临时目录加载解释器和附属文件。..._MEIPASS 变量包含了PyInstaller 自动创建的临时目录名。 单文件模式因为有临时目录和解压文件过程,所以程序启动速度会比较慢。如果程序运行到一半崩溃,则临时目录将没有机会被删除。...三、PyInstaller规格文件 PyInstaller 在生成文件的同时会创建一个相应的.spec 文件,.spec 文件本质上是一个特殊的 Python 脚本,记录了生成所需的指令。...当 PyInstaller 识别完所有模块后,会在内部构成一个树形结构表示调用关系图,调用关系在生成目标时也会一并输出(xref-xxxx.html 文件)。
但在打包的过程中仍然遇到了一些问题,半年前一番做打包的时候也遇到了一些问题,现在来看,解决这些问题思路清晰多了,这里记录下。...,而系统的python库里没有安装相应的依赖包,这时要么用退出当前的虚拟环境,要么在进入虚拟环境并给虚拟环境在Scripts下面安装pyinstaller命令。...不能将依赖文件打包到一个exe里,所以需要我们把图标文件拷贝到当前exe目录下。...这样我们的打包过程就完成啦,最终就只有一个exe文件,然后就可以发布了!...参考 《一种使用pyinstaller时图标问题解决方案》:https://www.cnblogs.com/it-tsz/p/10534688.html
当我们将python脚本文件(.py)转换为可执行文件(.exe)时,可以解决此问题。 获得的可执行文件可以在Windows平台上运行,并且包含运行python程序所需的所有软件包。...当您运行.exe文件时,您将获得与从python解释器运行时相同的输出。 这里的一个问题是,仍然不能单独共享.exe文件,因为要运行该.exe文件,需要有很多依赖文件。...OneFile 该命令将在dist文件夹中创建一个没有任何依赖关系的可执行文件,因为由于–onefile标志,所有依赖文件都捆绑在.exe文件中。...如果您的python程序是GUI应用程序,则您会注意到首先打开了一个控制台窗口,几秒钟后GUI应用程序启动了,这对用户体验不利。 这个问题可以通过 -w 选项使用来解决。 ?...该-i / -icon标志取路径.ICO图标图像文件。 ? 设置.exe的Pyinstaller图标 此命令将使用您的自定义图标创建一个独立的可执行文件。
,然后再运行的,所以会导致这种问题 比如,当你在程序里面调用一个外部exe时,但却提示找不到该exe文件。...然后用spec打包:pyinstaller main.spec 我解释一下这个点“.”是什么意思: 由于使用单文件打包出来的exe会先解压再运行,所以点“.”...解决方法很简单,请看: 比如说,我有一个文件main.py,引入了位于同级目录下的test.py模块 # main.py:就像这样直接引入 import test 现在我将test.py 编译成pyd文件...这么智能,但是为什么我用pyinstaller打包时就提示找不到文件?...而且除了我们自己写的一些py模块,其它模块在打包时可能也会提示找不到,都可以用这个方法解决。
标签:Python,auto-py-to-exe 通过将Python脚本转换为可执行文件,可以将其发送给需要的人,以便在他们的计算机上运行,即使他们没有安装Python。...我们可以使用pyinstaller通过命令行来创建Python脚本的可执行程序,然而,如果有一个生成可执行文件的图形用户界面,岂不更酷。...在命令行中输入: pipinstall auto-py-to-exe 安装完成后,在命令行中输入: auto-py-to-exe 打开如下图1所示的程序: 图1 这个模块本质上是pyinstaller...当我们将“单文件”与“附加文件”选项一起使用时,需要稍微调整一下代码,否则最终的应用程序将无法工作。Pyinstaller将数据/文件解压到名为sys._MEIPASS的临时文件夹中。...因此,必须指示代码从正确的位置拾取文件。我们将创建一个函数,为添加的文件包含适当的文件夹。
如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 如果还想要去查看更详细的指令,可以用pyinstaller -h查看 所以根据上表,创建单个执行文件,且不显示命令行窗口的程序就是...有时候打包之后会出现这个问题, ? 在我这里就是版本问题,把numpy回退一下版本,换成低一点的版本即可。...有的时候可能是因为没有模块之类的,你可以将-w去掉,然后就可以看弹出的命令行窗口显示的是什么错误,解决后重新打包即可。...如果你想要进行更加的复杂的添加数据文件,使用模块中的数据文件,都需要用spec文件,可以通过阅读他的官方手册 https://pyinstaller.readthedocs.io/en/stable/spec-files.html...py2exe的打包方法是要创建一个python程序进行打包的 例如 from distutils.core import setup import py2exe setup(windows=["snake.py
参数说明 -F,打包所有的依赖包在一个exe中,包括你自己的模块、内置模块以及第三方模块。 -c,如果你是命令行窗口,就要加上这个参数。 -w,窗口程序,比如你用了PyQt。 4....当我们双击编译好的exe后,他是会创建一个临时目录,把所有需要用的包都解压到那里,然后执行。执行完毕后,临时文件夹就消失了。 这和我们有什么关系呢?...打包出来的exe 是没有办法通过直接指定参数,类似:python main.py --input=*.xlsx 来读取文件的,因为我之前说了,在执行的时候会把项目解压到一个临时目录,所以原来项目中写好的相对路径也不管用...hiddenimports ,继续说下去,PyInstaller有时候无法侦察到全部的依赖包,怎么办?我们可以在这个后面加,把PyInstaller编译出来的exe在运行的时候报的缺少模块给写里面。...这个 sys._MEIPASS 是个特殊的值,是在Pyinstaller打包的时候才会添加的临时变量,通过这个变量我们可以获取到在执行exe时候的临时目录。 这对代码的改动是最小的。 6.
-F py_word.py 打包exe # 打包成一个文件夹 Pyinstaller py_word.py 打包exe pyinstaller打包文件包含两种情况: (1)将py文件、python及第三方库全部打包为一个单独的...(2)将以上三者打包形成一个文件夹,文件夹中包含一个Exe,一个python,及其依赖的第三方库。...也是支持加密打包的,使用 --key + 密码 参数即可,例如: pyinstaller --key 666777 xxx.py 不过这个加密也不是很强,对保密性有很强要求的建议使用把需要加密的模块通过...-D *.spec 5.6 模块找不到的问题解决办法 参考:使用pyinstaller将python程序打包成exe执行文件时遇到模块找不到的问题 解决办法是:打包时加入你自编模块(或第三方模块所在文件夹路径...因此打包时需要添加路径进行打包。 使用pyinstaller ***.py -F -p D:\Pycharm\Program 命令在主程序所在文件目录下进行打包,即可解决模块找不到的问题。
3、再添加上你要转换的文件地址(两者之间有空格) pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe...使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹 ? 2、-p指令 这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。...补充:如何将python的.py文件转换为可执行的.exe文件。 首先,我写了一个print(“hello,world”).py文件。...命名为hello.py保存在我的电脑C盘的C:\Users\ly目录下如图所示。...ps:尽量选择在这个文件夹下,如果选择其他盘的文件夹下,生成的.exe的dist文件夹也会出现在这个c盘的路径下,而且如果保存在其他盘下有时候还会出错,不好用。 ? ?
对于任何一件未知的事(这个未知是指没有别人做过类似的事可以给你参考),那么就一定要提前考虑到遇到未知错误所花费的时间成本。...其实选择的这个新方案,我导在第一次跟我讲这个项目的时候就提到了这种方案。因为对于一个泵站来说,其水泵开关的组合非常适合使用遗传算法(Genetic Algorithm, GA)进行求解。...一直到最后,发现老路实在是走不下去了,我才“逼上梁山”开始学习GA。但是当我真的开始学习GA,发现它其实并没有想象中的那么难。从初识到应用到自己的项目里,前后也就是三五天的时间。...ChatGPT另一个比较好的应用场景是基础知识的学习,最近在学习图论的过程中,我没有看过任何视频教程,全部都是跟着ChatGPT进行学习的。这让我的学习效率得到了极大得提高。...如何导出当前环境中的所有包及其版本号? 使用命令: pip freeze > .\requirements.txt即可。会在根目录生成一个名为requirements.txt的文件。
实际上它是可以运行的,但是不能直接运行,得使用某种工具将其转换为二进制可执行文件!这类工具主要有两个:py2exe模块和pyinstaller模块。...这里我想说Python3.6已经不能用py2exe模块了,所以今天的文章我将使用pyinstaller模块。...初识pyinstaller模块 要想使用这个模块,首先必须检查自己的Python有没有安装这个模块,如果有,自己直接使用就行,如果没有需要通过pip命令安装。...最然这样做确实打包完成了,而且也可以运行,但是大家会发现执行exe文件结束时会出现闪退,为此,刚才全都错了,因为没有控制程序执行的控制台界面,实际上控制界面很简单,程序最后加一个输入语句就可以了,前面的代码我就不放上去了...在验证之前讲一个比较重要的参数——“-w”,这个参数用在打包带有图形界面的程序,如果加了这个参数,就没有背后那黑黑的控制台,就是一个纯粹的图形界面。这个我就不做验证了,大家可以自己验证。
pyinstaller打包exe文件出现命令窗口一闪而过 用pyinstaller打包的exe文件打开时,命令窗口一闪而过,并且未出现GUI界面,也看不到 错误信息,然后去网上搜相关的信息,最多的两种说法...\Project 带不带.exe都行,然后又运行了一次,终于看到了 错误信息,顿时有种泪流满面的感觉啊 从错误信息也能看出为什么加入raw_input()或者os.system(“pause”)等待信息没有用...实在是想不明白,于是去网上查各种资料,终于查到了原因,原来是和编写的工具有关,pacharm 导入的模块并没有安装到电脑的python中模块中去,这就导致了,在pacharm中能正常运行,在 命令窗口里运行...python文件时却提示错误。...,不要像我这样一个 简单的问题搞了一天,也许大佬也遇到这个问题,可能感觉问题太简单了,只能我这种小白来给大 家当搬运工了。
成功后会在同级目录下生成一个dist文件,里面就是一个和代码文件名同名的可执行文件: ? 双击该可执行文件,我们可以看到直接在python解释器里运行测试.py文件时一样的结果: ?...如果没有指定,则默认使用当前目录来生成 spec 文件 -p 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。...) F:\PythonCool\pyinstaller>pyinstaller -F -w -i icon.ico 测试.py 双击打包后的exe文件,可以看到只会出现GUI界面,命令行窗口并没有出现...直接用以上方式打包的时候,这些资源是无法被打进包的,我们需要进行修改打包时的spec文件来实现。 spec文件是告诉Pyinstaller怎么打包py文件,比如路径、资源、动态库、隐式调用的模块等等。...wordcloud模块目录里查到了stopwords文件,我们将其放到data中。
在项目上,帮财务开发了一个小工具,但财务不会用python,需要帮忙打包成exe可执行文件。目前比较常见的打包exe方法都是通过Pyinstaller来实现的,本文也将使用这种常规方法。...执行完毕会发现当前目录多了几个文件夹,打开其中名为dist的文件夹。...已经生成了一个名为changename的exe应用程序, Pyinstaller参数详解 Pyinstaller -F -w -i tu.ico changename.py 解释一下其中Pyinstaller...这个参数也可以写成--icon=tu.ico 最后稍微总结一下: Pyinstaller -F changename.py 打包exe Pyinstaller -F -w changename.py...我的电脑conda安装不行,就没法截图了,大致命令为: conda create -n test python==3.6 #创建虚拟环境 conda activate test #激活虚拟环境
前言防止 Python 可执行文件(.exe)被反编译是一项重要的安全措施,尤其是当你希望保护你的知识产权、算法、或者商业逻辑时。...Cython 是一个编译器,可以将 Cython 源代码转换为高效的C或C++源代码。然后,我们可以将这些源代码编译 为Python 扩展模块或独立的可执行文件。...Python 源文件编译成.pyd文件时,由于.pyd文件是二进制文件,PyInstaller 在分析需要导入的包时无法直接解析.pyd文件。...导致 PyInstaller 不知道.pyd文件中导入了哪些模块。因此,我们需要使用--hidden-import参数告诉 PyInstaller 我们需要导入哪些模块,以便正确地打包应用程序。...我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。
领取专属 10元无门槛券
手把手带您无忧上云