首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python3快速入门(十八)——PyI

1、Spec文件生成 使用pyinstaller [options] xxx.py进行打包PyInstaller 会首先根据选项生成对应的 .spec 文件,然后执行 .spec 文件所指定的过程生成最终文件...两种 Hook 主要是按照加载时间区分,第一种Hook在 PyInstaller 文档中没有明确的命名,是在生成过程中,导入特定模块时调用的,称为 Import Hook;第二种是Runtime Hook...binaries = get_qt_binaries(pyqt5_library_info) hiddenimports是PyInstaller 用来描述并非通过 import 明确导入,而是通过其它动态机制加载的模块...'] = os.path.join(pyqt_path, 'qml') 五、错误调试 使用PyInstaller进行打包,最常见的错误是Failed to execute script xxx,通常做法是先使用...pyinstaller -c xxx.py应用打包为控制台应用,在命令行执行相应可执行程序查看错误输出,进而逐个排除错误

3.6K10

pyinstaller打包python项目

Nuitka优点:Nuitka是另一种可以Python编译为独立可执行文件的工具,但其工作原理与PyInstaller不同,它尝试直接Python代码转换为C++代码再编译为本地机器码,理论上可以获得更好的性能...4. py2exe (仅适用于Windows)优点:专门为Windows设计,可以Python程序打包为Windows上的.exe文件。缺点:不支持其他操作系统,应用场景有限。...手动添加隐藏导入模块--hidden-import module_name:手动添加一个隐藏导入模块,以防PyInstaller在分析过程中遗漏。5....这个错误提示表明在运行使用PyInstaller打包后的exe文件,系统未能找到Python的动态链接库(DLL文件——python311.dll。...你需要确保目标机器上有与打包相同的Python DLL。依赖库缺失: PyInstaller虽然会尝试所有必要的依赖打包到生成的可执行文件中,但有时可能会遗漏某些动态链接库。

30010
您找到你想要的搜索结果了吗?
是的
没有找到

Python打包exe文件方法汇总【4种】

,因为一些别的机子可能会缺少dll文件什么的,作者我当时之所以抛弃py2exe 也是因为这个原因; 打包的文件也需要打包同exe下的dll,和一些库的压缩包,不然exe根本跑不起来 打包时候报始终报...RuntimeError: BeginUpdateResource错误,就需要拷贝dll文件。...可以选择exe文件的图标 (Windows only) 支持 COM server (Windows only) 缺点: import导入的问题 pyinstaller是很智能的,只要指定了入口py文件...如果py程序是多进程的话,使用pyinstaller打包会出现错误,这个时候只要加上一行代码 在: if name==‘mian’: #新增 multiprocessing.freeze_support...但是你打包后的文件发给另一台机器,运行.exe程序会报错,大概意思是“根据你写的绝对路径找不到图片等素材”,即使你在文件夹下拷贝了素材,但是绝对路径也是错误的,所以,最好使用上一种方法。

2.6K10

Python脚本导出为exe程序的方法

出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功 三.打包 打包的app里并不包含任何源码,但脚本的.pyc文件打包了。...基本语法: pyinstaller options myscript.py 常用的可选参数如下: –onefile 结果打包成一个可执行文件 –onedir 所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件...(默认) –paths=DIR 设置导入路径 –distpath=DIR 设置打包的结果文件放置的路径 –specpath=DIR 设置spec文件放置的路径 –windowed 使用windows...使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件文件夹 ? 2、-p指令 这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。...补充:如何python的.py文件换为可执行的.exe文件。 首先,我写了一个print(“hello,world”).py文件

2K20

如何避免别人反编译我们的 Python .exe 程序

前言防止 Python 可执行文件(.exe)被反编译是一项重要的安全措施,尤其是当你希望保护你的知识产权、算法、或者商业逻辑。...然后,我们可以这些源代码编译 为Python 扩展模块或独立的可执行文件。通过使用 Cython 将我们的 Python 代码转换为C或C++,可以大大增加反编译的难度。...log --hidden-import gui --hidden-import tkinter.ttk --hidden-import config当我们 Python 源文件编译成.pyd文件,...由于.pyd文件是二进制文件PyInstaller 在分析需要导入的包无法直接解析.pyd文件。...导致 PyInstaller 不知道.pyd文件导入了哪些模块。因此,我们需要使用--hidden-import参数告诉 PyInstaller 我们需要导入哪些模块,以便正确地打包应用程序。

54420

免杀初探:python加载shellcode免杀与国内主流杀软大战六个回合

3. pyinstaller 可直接python语言编写的py程序打包为exe可执行文件,而不需要安装python环境即可直接运行。...使用pip安装即可 打包常用命令: pyinstaller -F -w x.py 4. shellcode shellcode是一段用于利用软件漏洞而执行的代码,格式为16进制的机器码。...接下来,点击生成→生成解决方案即可生成一个.dll文件 那么如何使用python加载dll,并调用里面的函数呢?...最后刚才生成的DLL文件放到py文件同目录下,运行py文件: 注意这里有坑,如果你的python是64位的,生成dll 文件debug一定要选x64,不然运行py文件调用dll时会报错,32位python...我们还可以执行shellcode的函数写到dll文件中,然后通过exe去调用 免杀的技术方法还有dll替换,资源文件修改,签名,特征码定位,加壳,改变生成shellcode的参数,套娃(如:编码之后加密再加密

3.2K10

python 使用cx-freeze打包程序的实现

python环境 3.6.5 win7 linux环境同理 先尝试了PyInstaller ,打包一直提示 no module named gtk 而gtk 又依赖pygobject ,尝试安装几次之后失败放弃...执行exe 比如下图,在python终端里面输入 import _tkinter是可以的,但是打包以后会这样报错, 引入 tcl86t.dll和tk86t.dll 后问题解决 ?...然后很容易会报错如下图,解决办法是一个一个的在自己的python路径中找到这些.py文件,然后执行:python -m compileall +文件名.py 再把生成的.pyc文件拷到打包项目的相应位置...python解释器运行就不会出现错误,我真的一脸懵逼啊,于是我猜想会不会是cxfreeze在导入库时有bug,于是我做实验验证我的猜想,结果果真如我所料。...python3.6 cxfreeze 打包不能同时出现requests和base64这2个库,否则exe运行闪退。。。

1.4K30

PyInstaller打包python程序为exe可执行文件

-F py_word.py 打包exe # 打包成一个文件Pyinstaller py_word.py 打包exe pyinstaller打包文件包含两种情况: (1)py文件、python及第三方库全部打包为一个单独的...在打包过程出现问题,可以生成文件结构,进入细致查看发生了什么。 2 虚拟环境打包 按照极简版,其可能会将你所有依赖打包,就会让文件变得非常大。...各种路径错误导致的问题 很多人在拼接路径的时候喜欢使用+来拼接路径字符串,这会导致在打包后出现各种资源无法访问的错误,且不好排查,建议多使用os.path的各种方法来处理路径。...-D *.spec 5.6 模块找不到的问题解决办法 参考:使用pyinstallerpython程序打包成exe执行文件遇到模块找不到的问题 解决办法是:打包加入你自编模块(或第三方模块所在文件夹路径...因此打包需要添加路径进行打包。 使用pyinstaller ***.py -F -p D:\Pycharm\Program 命令在主程序所在文件目录下进行打包,即可解决模块找不到的问题。

83620

pyinstaller打包exe免杀和逆向浅析

python3程序打包为exe文件,目前的主流方法大致分为以下几种: 其中,pyinstaller是可以py文件直接打包为一个exe的,效果相对较好。另外两种打包的文件都很零碎。...众所周知,python打包的文件体积都比较大,而且很容易被杀软检测识别,甚至部分厂商会直接Pyinstaller打包的任何文件直接拉黑报毒,所以在这里讨论下pyinstallerpy2exe来打包exe...然后将该程序使用pyinstaller打包为exe文件 pyinstaller -F 01_easy.py 其中 参数 -F 是为了程序打包为一个exe文件,而且不产生其他的文件 打包完成之后,本地会生成一个...04 -F --key参数反编译 在使用pyinstaller的时候,可以使用--key参数对生成的exe进行加密,在使用这个参数的时候需要pycrypto库,可以通过pip的方式进行安装,但是保不齐安装的时候会出现一些问题...加载器写到一个文件中去,再使用另外一个脚本调用,在一定程度上可以免杀(随着时间推移,该方法逐渐失效),但是--key参数加密后的py_shellcode_fuzz.pyc.encrypted文件是无法解开的吗

4.7K30

python打包exe——pyinstaller遇到的那些坑及解决办法

出现原因: 1.对应打包的python.exe路径存在中文 2.对应打包的python.exe路径存在空格 3.心大的人,直接从别的地方把文件拷贝到另外一个地方,实际路径发生了变化,导致scripts\...--console -s,–strip 可执行文件和共享库run through strip.注意Cygwin的strip往往使普通的win32 Dll无法使用....-X, –upx 如果有UPX安装(执行Configure.py检测),会压缩执行文件(Windows系统中的DLL也会)(参见note) -o DIR, –out=DIR 指定spec文件的生成目录...-p DIR, –path=DIR 设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径...-i ico路径 xxxxx.py –icon= file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效) -v FILE, –version

2.4K10

『Python』Python编译成计算机可执行文件(Windows计算机可执行文件exe,Linux 计算机可执行文件elf,Mac计算机可执行文件mach-O)

生成不自定义图标的exe文件 4.生成带自定义图标的exe文件 PyInstaller 会对脚本进行解析,并做出如下动作: 内部流程 背景: Python 程序都是脚本的方式,一般是在解析器里运行,如果要想要给别的计算机使用...与类似工具相比,PyInstaller的主要优势在于PyInstaller可与Python 2.7和3.5-3.7一起使用;由于透明压缩,它可生成较小的可执行文件;它是完全多平台的;并且使用OS支持来加载动态库...生成不自定义图标的exe文件 pyinstaller -F -w game.py (-F表示打包单个文件,-w是为了打开exe时候不弹出黑框) 4.生成带自定义图标的exe文件 ?...如果没有指定,则默认使用当前目录来生成 spec 文件 -p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。...build 文件夹; 写入一些日志文件和中间流程文件到 build 文件夹; 创建 dist 文件夹; 生成可执行文件到 dist 文件夹; 如果编译中出现错误,会生成debug.log

3.4K10

wxPython_06_Python源代码打包成exe可执行文件

python的源代码要在没有安装/配置Python相关开发环境的电脑上运行,那么就需要使用工具对源代码进行打包,在windows上运行则必须打包成exe可执行文件,现在常用的打包工具有: py2exe,...PyInstaller 以及 cx-Freeze0 PyInstaller打包太慢,过程太长; cx-Freeze可以说飞速打包; py2exe打包相对比较麻烦,需要另外写一个Python的脚本文件....使用py2exe打包需要写一个Python的脚本文件: #coding=utf-8 from distutils.core import setup import py2exe import glob...,另外,要是exe可执行文件点击之后没有反应,可以将其拖拽到cmd命令行中执行,会打印出出现错误。...(2)项目结构 使用py2exe打包之后的文件夹中除了一大堆dll,lib文件之外,可以找到那个exe可执行文件,但我们点击之后,回报各种资源文件找不到,加入我们在项目中使用了图片,那么需要把图片文件夹额外拷贝到项目目录下

1.8K10

关于Python病毒样本的分析方法

py脚本的形式存在,此种方式最为常见,但也最容易阅读和分析。 2. pyc文件结构打包到各种可执行文件中,如PyInstaller工具等。 3....(2) 使用方法,如下: 使用需要创建一个set.py(名称随意),文件内容: from distutils.core import setup import py2exe setup(windows=...分析方法 (1) 在py2exe打包后的结果文件中,exe和python.dll都是必要组件。有时python.dll可能会被内嵌在exe中。...4. cx_Freeze 简介 cx_Freeze也是一种用于Python脚本打包成可执行文件的一种工具,使用起来和py2exe差不多。...脚本运行方式 我们准备一个简单的py脚本,将其编译为pyc文件。 ? 我们准备一个简单的C代码来调用此pyc文件。 ? (1) 加载对应版本的python.dll

1.7K10

c#调用python的四种方法(尝试了四种,只详细讲解本人成功的后两种,其余方法只列出,详细用法请自行谷歌百度)

使用c++程序调用python文件,然后将其做成动态链接库(dll),在c#中调用此dll文件 限制:实现方式很复杂,并且受python版本、(python/vs)32/64位影响,而且要求用户必须安装...因为打包exe文件执行后,可能会报找不到Multi模块的错误 3、在c#中调用上述主python文件:main.py (我直接建了一个wpf文件,放在一个按钮的点击事件中执行了...我要传一个很大的数组,曲线救国,用c#数组写入txt文件中,存放路径传给python函数,python读取此txt文件得到数据 ---- 使用步骤: 1、编写python文件(...因为打包exe文件执行后,可能会报找不到Multi模块的错误 2、安装pyInstaller(若已安装请直接跳过此步骤) 我使用的是Anaconda编写python,所以使用Anaconda...,在我另两篇博客里有解决办法) 若打包成功,出现successfully,失败的话会给出错误信息 4、在c#中调用此exe文件(此处我建了一个wpf项目,利用按钮点击事件来实现调用) namespace

8.1K21

如何把Python脚本导出为exe程序

当用pip安装pyinstaller未找到PyWin32,会自动安装pypiwin32 出现Successfully installed pyinstaller-3.1.1 pypiwin32-219...基本语法: pyinstaller options myscript.py 常用的可选参数如下: –onefile 结果打包成一个可执行文件 –onedir 所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件...(默认) –paths=DIR 设置导入路径 –distpath=DIR 设置打包的结果文件放置的路径 –specpath=DIR 设置spec文件放置的路径 –windowed 使用windows...) pyinstaller.exe后面如果加上-F就是打包为一个exe文件文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe,不加运行时就会出现cmd窗口。...使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件文件夹 7、-p指令 这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。

92820

如何把Python脚本导出为exe程序

当用pip安装pyinstaller未找到PyWin32,会自动安装pypiwin32 出现Successfully installed pyinstaller-3.1.1 pypiwin32-219...基本语法: pyinstaller options myscript.py 常用的可选参数如下: –onefile 结果打包成一个可执行文件 –onedir 所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件...(默认) –paths=DIR 设置导入路径 –distpath=DIR 设置打包的结果文件放置的路径 –specpath=DIR 设置spec文件放置的路径 –windowed 使用windows...) pyinstaller.exe后面如果加上-F就是打包为一个exe文件文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe,不加运行时就会出现cmd窗口。...使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件文件夹 7、-p指令 这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。

1.1K10

python打包二进制文件(pyddllexe)

安装环境 pip install cython pip install pyinstaller 单个文件 编写文件compile.py from distutils.core import setup...python到c++ swig,i文件c++文件,生成PyInit_module导出函数,模块导入功能用(替代ctypes),转换过来的代码问题还是很多,使用pybind11或者boost python...文件拷贝到python\lib\site-packages目录下,不用修改输出的文件名(或者修改名字本目录导入) 用depend打开pyd文件,查看导出函数 使用ctypes的方式加载函数...解析器到模块中,效率比cython低 打包程序 打包可执行文件比较简单,一个命令即可 pyinstall -F *.py (生成的文件已有一个exe,不加-F生成的文件较多) 使用python自带的工具打包...setup.py bdist_msi # 创建".msi"的文件 python setup.py bdist --format=msi # 同样是创建"*.msi"的文件 异常 链接失败:python

3.1K20
领券