基本原理:Pyinstaller 可以将资源文件一起bundle到exe中,当exe在运行时,会生成一个临时文件夹,程序可通过sys...._MEIPASS访问临时文件夹中的资源 官方说明:https://pythonhosted.org/PyInstaller/spec-files.html#spec-file-operation 测试案例功能描述...,访问资源文件夹res/a.txt,并打印其内容。..._MEIPASS变量来访问临时文件夹中的资源 import sys import os #生成资源文件目录访问路径 def resource_path(relative_path): if getattr...生成EXE文件,pyinstaller -F test.spec ? 运行生成的EXE,可以看到资源生成的临时文件夹路径 ?
前言 最近因为测试需要,用python写了一个检查图片是否符合要求的一个小工具,然后用pyinstaller将整个工程打包成了exe可执行文件,真的实在太方便了,直接发给同事,无需要再安装python环境...pyinstaller安装及验证 最简单直接的安装肯定是用pip命令啦,如下图: 安装完成后,可通过在cmd窗口输入pyinstller进行验证,出现以下的提示,表示已经安装成功。...如下图: pyinstaller打包py 首先进入py工程的目录,且进入程序入口文件的目录,我的工程目录下的程序入口是test.py,输入pyinstaller -F test.py,如下图...: 直到出现以下提示,表示打包完成: 打包完成后,会在当前工程目录生成两个文件夹,分别是build和dist文件夹,如图: 其中build文件夹东西是打包是过程生成的过程编译文件,dist文件里面就是我们所需要的...进去看下,如图: 生成的exe文件名,是以所打包的程序入口文件的文件名为名,但是可以更改。
本文介绍基于Python语言中的pyinstaller模块,将写好的.py格式的Python代码及其所用到的所有第三方库打包,生成.exe格式的可执行文件,从而方便地在其他环境、其他电脑中直接执行这一可执行文件的方法...但是需要注意,pyinstaller模块打包后的可执行文件是不可以跨平台使用的——例如,在Windows上将一个Python代码文件打包,得到的可执行文件就只能在Windows上使用,而在Linux和Mac...这里需要注意,如果大家待打包的这个Python代码文件是放在了虚拟环境中,那么这个pyinstaller模块也需要配置在这个虚拟环境中。 ...-h:显示关于pyinstaller命令的帮助。 -D:如果不想要前面-F的效果,那就用这个-D,从而生成多个可执行文件。...此时,我们在与待打包Alignment.py文件同目录的路径中,可以看到pyinstaller模块对其打包后生成的3个新的文件夹或文件,如下图所示。
28 11:24 747 command.spec 2018/01/28 11:24 dist 2 个文件...28 11:24 747 command.spec 2018/01/28 11:24 dist 2 个文件...2018/01/28 11:24 .. 2018/01/28 11:24 command 0 个文件...01/28 11:24 .. 2018/01/28 11:24 3,895,500 command.exe 1 个文件...2 个目录 42,451,783,680 可用字节 C:\Python27\test> 我们的最终结果为 dist/command.exe 其它都是打包过程中生成的中间文件
PyInstaller与py2exe的主要差异(Windows): PyInstaller打包出来的是一个正常的exe;py2exe打包出来的既是exe,也是zip文件,可以进行解压 PyInstaller...$ pyinstaller usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [...: error: too few arguments 0x02 PyInstaller参数说明 官方文档地址为:https://pyinstaller.readthedocs.io/en/stable/...由于PyInstaller打包出来的程序在运行时会解压数据文件到临时目录中,因此程序中可以直接访问这些数据文件;而py2exe则需要手动将数据文件从程序体中解压出来使用。...中的文件名、厂商、版本等信息,并保存 为了动态修改版本信息,也可以使用脚本动态生成版本文件 0x06 打包成app( Macos) 在Macos上使用PyInstaller打包出来的是一个目录,可以直接压缩成
使用方法: 将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下: cd D:\Projects\Python_projects\ 输入:pyinstaller -F 文件名...(带后缀py): pyinstaller -F test.py 注意如果有引用第三方库的话,这种方法打包的exe会提示缺少模块,这时候需要把所有引用的第三方库也一起打包进去: pyinstaller -...返回目标文件目录,发现该目录下生成了.spec文件test.spec。 打包好的exe文件,在同目录的dist文件中。...常用参数说明: –icon=图标路径 -F 打包成一个exe文件 -w 使用窗口,无控制台 -c 使用控制台,无窗口 -D 创建一个目录,里面包含exe以及其他一些依赖性文件 pyinstaller -
在Path变量值中添加【;(python的安装目录)\Scripts】 *注意不要漏了最前面的分号 2.安装PyInstaller 用管理员权限安装 pip install pyinstaller...3.使用PyInstaller生成exe文件 #后面的路径为你的python文件的位置(如果第一步没有添加变量,这里还是要到Script下执行pyinstaller.exe文件) pyinstaller...') 4.3生成.spec文件 pyinstaller -F C:\Users\wyc\Desktop\Auto\pyResource1.py 在生成的.spec文件exe = EXE()中加入下面这行...; 第三个是打包进程序的文件名字 4.4添加ico和资源引用 打开.spec文件,会被正确引用: exe = EXE(pyz, a.scripts, a.binaries...文件夹,重新生成,对.spec文件打包 pyinstaller pyResource1.spec ?
安装 PyInstaller 接下来,我们需要安装 PyInstaller,它会读取您的 Python 代码,发现您的应用程序运行所需的每个模块和库,收集所有必要的东西(包括 Python 解释器),并将它们与您的代码组合成一个单独的文件夹或一个单独的可执行文件...将所有内容捆绑在一起 我将首先向您展示如何使用 PyInstaller 为您的应用程序创建捆绑包。所有这些都将包含在一个文件夹中,其中包含一个可执行文件和一个包含依赖项的文件夹。...创建单个文件可执行文件 最好的方法是使用 PyInstaller 创建单个文件可执行文件。...这里唯一的区别是你在(INPUT_APP 文件夹内)运行的命令,它是: pyinstaller –noconsole –onefile input.py –noconsole 选项指示 PyInstaller...抑制应用程序启动时不可避免地打开的终端窗口,而 –onefile 则告诉 PyInstaller 创建单个文件可执行文件。
本篇讲如何用PyInstaller库一步步打包python代码。...找到后整个文件夹全部复制到代码根目录 ?...看到successfully 就是成功了 pyinstaller 一些常用参数命令 -F 表示生成单个可执行文件 -w 表示去掉控制台窗口,这在GUI界面时非常有用。...-p 表示你自己自定义需要加载的类路径,一般情况下用不到 -i 表示可执行文件的图标 更多参数可以通过pyinstaller -h查看 执行.exe文件 打包完成后会在 dist 目录看到一个 yoyoblog.exe...文件 ?
作者: zifanwang 发布于2020-06-01 1.打包文件 首先要做的肯定是下载pyinstaller: pip install pyinstaller...再打开cmd,cd到那个py文件所在的文件夹下,找一个ico图标,将他转换为32x32大小的(网上有很多转换工具,可以在baidu搜索ico)如下: image.png 再在cmd里输入: pyinstaller...--clean -F -w -i favicon.ico 00.py 可以发现多了几个文件: 在dist文件夹里可以发现有一个exe文件,那个就是打包后的文件。...2.压缩文件 可以发现那个exe文件很大,打开00.spec并修改第13行的excludes,在里面输入不需要导入的一些包: excludes=["tkinter","http","email","asyncio...","sqlite3","urllib","logging","lib2to3"], 再在cmd里输入: pyinstaller --clean -F -w 00.spec 可以发现文件变小了。
噔噔蹬蹬 pyinstaller 闪亮登场 场景说明 使用Pyinstaller将Python脚本或者项目打包,生成可执行的.exe文件。...exe文件,小项目可以采用,打开比较慢,多个.py打包时不能使用 -D 默认参数,打包结果放入到创建的文件夹中,可以看到里面有很多的依赖文件 # -w -c互斥参数 -w 使用项目的GUI界面,无...静态资源、建好的Sqlite数据库可以直接放入dist中 生成的文件夹中 说明 Pyinstaller只是将Python解释器和脚本打包成一个可执行文件, 不同于编译成真正的机器码。...如果打包时没有用-c不会出现控制台或者控制台一闪而过,看不到报错信息, 可以在cmd命令行窗口执行exe文件 fatal error faild to execute script file Pyinstaller...打包时有些库没有打包进去,可以将报错信息中的库通过 --hidden-import 报错的包 的进行打包 pyinstaller 打包python3.6+PyQt5中各种错误的解决方案 依赖报错 打包结果文件过大
1、将python程序打包成单文件(使用 -F 参数)后,尝试运行外部文件却提示找不到的问题 当你将python程序打包成单文件(使用 -F 参数)后,运行程序,它实际上是先将exe内的资源文件解压到临时文件夹...0) 首先,你需要将这个外部的exe文件添加进pyinstaller的打包里。...完整命令:pyinstaller -F main.py --add-data "nginx.exe;." 2、在spec文件添加: 每次执行pyinstaller打包命令后会生成spec文件,打开它...2、当你使用cython将py文件编译成pyd文件后使用pyinstaller打包,提示找不到模块的问题 直接使用pyinstaller打包py文件是很容易导致源码被反编译的 所以在打包的时候最好将...这么智能,但是为什么我用pyinstaller打包时就提示找不到文件?
安装pyinstaller成功 测试pyinstaller ---- 环境 需要环境为: Windows 7 x64 Python 3.6.1 x86 方法1. 用pip 1.1....安装: > pip install pyinstaller 1.2. 升级: > pip install --upgrade pyinstaller 方法2. 下载安装 2.1....下载: 下载安装包: http://www.pyinstaller.org/downloads.html ? 2.2. 安装: 解压进入文件夹: ?...安装pyinstaller成功 > python setup.py install ? 测试pyinstaller 测试安装是否成功。 ?
PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。...python.py生成Mac、Windows下可执行文件 安装: pip install pyinstaller 或者 pip install pyinstaller -i https://pypi.douban.com...445B08FB-AD83-4C0F-AF7B-1F43B15A4BA2.png 补充 生成GUI图形界面 pyinstaller -F -w Demo.py 多个文件一起打包,生成的可执行文件为第一个文件名称...pyinstaller -F -w Demo.py Demo1.py 生成后在dist文件夹中又一个app或者.exe的文件 ?...B7B8E93C-BD56-4C31-AADD-BE6A9BF09FDC.png 点击就能运行了 关于图标(my.ico 是一个图标名,和当前的test.py文件在同一个目录下) pyinstaller
,python版本是3.8,后来我在pycharm里面下载了pyinstaller,步骤如下 pycharm安装pyinstaller 首先打开pycharm中的setting 在这里插入图片描述...同理,网上的教程就是在Terminal下输入pyinstaller -F -w xxx.py ,xxx换成你文件名就可以,这个指令没错,但是我打包还是失败了 首先我的第一个问题,是pyinstaller...的,而不是python下 pycharm和python文件夹是两个,用Terminal打包是使用的python文件下的版本,所以我们要把pycharm下载的最新pyinstaller包放到python...,建议都升级为最新 打开我们的pycharm安装的文件夹,注意:不是pycharm软件的文件夹地址,是下载的文件夹地址,pyinstaller安装包是在site-packages文件夹下面,这个是我的下载存放的地址...这两个地址仅供参考,按你们软件的实际存放地址为准 pyinstaller的安装包都在site-packages文件夹下面 在这里插入图片描述 网上教程是直接把pyinstaller安装包复制过就可以
1、文件句柄限制 可通过执行以下命令,查看单个进程最多可使用的文件句柄数量: 1 /# ulimit -n 2 1024 可通过执行以下命令,查看系统环境最多可使用的文件句柄数量: 1 /# cat...内核源码相关实现见下图 可通过更改/etc/sysctl.conf配置文件,永久修改/proc/sys/fs/file-max值来设定系统可打开的最大文件句柄数量。...1 /# echo “fs.file-max = 6553500” >> /etc/sysctl.conf 或者直接修改/proc/sys/fs/file-max值大小来临时设置系统可打开的最大文件句柄数量...参考命令如下: 1 /# echo “fs.file-max = 6553500” > /proc/sys/fs/file-max 可通过执行以下命令,查看系统当前打开的文件句柄数量以及可打开最大文件句柄数量...1 /# cat /proc/sys/fs/file-nr 2 14352 0 13139104 14352为当前系统打开的文件句柄数量,13139104为可打开的最大文件句柄数量
PyInstaller 打包python程序 PyInstaller -F XXXX.py -F 是把所有的相关程序都打包成单个exe运行文件。... 等, 这个疑问参考issue 文献3 ,但是解决方案治标不治本,另外还有很多资源文件都无法加载 如:wordcloud 中就加载了默认的 stopword 停用词字典。...先把一些需要加载的资源按照第三方库默认的文件结构放在 static(这个名字随你定) 文件夹内 ,如下图 ? 然后根据官方文档参考文献4,修改spec的datas 节点 ?...datas接收一个元组数组 [(x1,y2),(x2,y2)] x1 是指需要打包的资源文件位置,可以是文件夹名称(我这里是static),单一文件,或者 带有通配符 * 的多个文件。 ...y1,是指需要输出到临时文件夹内的相对地址。这里我用了 点符号,代表临时文件夹本身。 这样需要的资源文件就包括进去了,也能正常读取了。 有其他办法是修改源码的,其实是很不优雅的。
用 Pyinstaller 打包 Python 程序 首先我们需要安装 Pyinstaller: pip install pyinstaller 用 conda 也行,不过貌似最近清华的 Anaconda...Pyinstaller 用法很简单,在对应的主调 py 文件的目录下,运行: pyinstaller [<args ] Target.py 介绍一下 Pyinstaller 常用的参数用法:–distpath...PyInstaller缓存并删除临时文件 关于打包成什么样,有两种选择: -D: 创建包含可执行文件的单文件夹包,同时会有一大堆依赖的 dll 文件,这是默认选项-F: 只生成一个 .exe 文件,如果项目比较小的话可以用这个...以我的例子来说,我的项目中有一个 config.yaml 文件需要在运行时读取,然而 Pyinstaller 是不会帮你把这些依赖项目也打包的。 解决办法很简单,手动把依赖项目复制进目录下就可以了。...把你的脚本放到这个目录下面,运行 pyinstaller,方法同前 这时我们就会用虚拟环境下的 pyinstaller 来打包库,由于这个环境比较纯净,所以即便它想乱打包其他的库也打包不了。
一、python安装pyinstaller方法 使用python编写脚本,需要发给别人使用的时候,总会想到如何打包成exe文件,发给对方。这样的话,对方可以直接使用运行,无需安装python。...所以看网上的教程,大多使用pyinstaller。...2、升级完pip后,执行命令 : pip install pyinstaller ,只要网速不差,坐等安装成功即可,过程中可能会提示安装其他模块,按照提示安装即可 二、使用pyinstaller命令打包成...(.py文件为pytest.py) pyinstaller -F pytest.py 这样即完成了打包,但这样打包完成的EXE运行是带控制台的,因我的.py是使用pyqt5设计的UI代码,因此加上...pyinstaller -F -w pytest.py 至此已生成exe,打开exe会报一下错误: 问题是,缺少必要的dll文件,我们找到路径:C:\ANACONDA\Lib\site-packages
), #/mygame/data文件夹下所有文件 ( 'src/README.txt', '.' ), ], 上面说了有时候我们需要另外添加资源文件,可以通过编辑spec文件,也可以通过命令行参数...例如使用opencv的时候存在找不到视频编解码器的情况(Pyinstaller详细教程) 即找不到opencv_ffmpeg341_64.dll 这时候需要我们手动设置资源路径, 可以通过–add-binary.../cv2')] 前一个代表原始资源路径,后一个代表拷贝到可执行文件夹的文件路径。...-F py_word.py 打包exe # 打包成一个文件夹 Pyinstaller py_word.py 打包exe pyinstaller打包文件包含两种情况: (1)将py文件、python及第三方库全部打包为一个单独的...各种路径错误导致的问题 很多人在拼接路径的时候喜欢使用+来拼接路径字符串,这会导致在打包后出现各种资源无法访问的错误,且不好排查,建议多使用os.path的各种方法来处理路径。
领取专属 10元无门槛券
手把手带您无忧上云