pyinstaller打包启动由于requests报错

pyinstaller打包失败,在Building PKG报错 pyinstaller打包失败,在Building PKG报错常见错误Building PKG时报错,且有些脚本可打包成功有一些打包失败一个可用的打包工具脚本 常见错误 Building PKG时报错,且有些脚本可打包成功有一些打包失败 报错log: 4294 INFO: Building PKG (CArchive) PKG-00.pkg ...... ...... filename_... 阅读详情
AI摘要

博客指出pyinstaller打包python项目启动时,若出现requests报错,是因为request证书未打包进项目。解决办法是在项目根目录的*.spec文件中,于datas参数添加datas=[(‘具体路径/certifi/cacert.pem’,‘certifi’)],并将cacert.pem文件位置替换为环境下的绝对路径。

问题:pyinstaller打包python项目,启动报错requests,如果是类似的报错,就是request证书没有打包进项目

    from .db_schema import DBSchemaAssembler  # noqa: F401
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "dbgpt/rag/assembler/db_schema.py", line 12, in <module>
    from ..embedding.embedding_factory import DefaultEmbeddingFactory
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "dbgpt/rag/embedding/__init__.py", line 8, in <module>
    from .embeddings import (  # noqa: F401
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "dbgpt/rag/embedding/embeddings.py", line 6, in <module>
    import requests
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "requests/__init__.py", line 164, in <module>
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "requests/api.py", line 11, in <module>
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "requests/sessions.py", line 15, in <module>
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
  File "requests/adapters.py", line 81, in <module>
FileNotFoundError: [Errno 2] No such file or directory

解决:

项目根目录下有*.spec文件,文件中datas,参数添加datas=[((‘具体路径/certifi/cacert.pem’,‘certifi’))]
cacert.pem文件位置替换你环境下绝对路径

记一次python逆向:反编译pyinstaller打包生成的exe 首先声明一点,逆向这块我是纯小白,我是通过看各种博客,反复折腾才搞出来的,写的有错误的地方,还请各位大佬多多指正。 阅读详情

相关推荐

解决Playwright打包报错:PyInstaller与Docker实战方案

浏览器自动化是现代数据采集和Web测试的核心技术,它通过程序控制浏览器行为,模拟用户操作,实现对动态渲染页面的精准抓取与交互。其原理在于通过驱动协议与浏览器内核通信,从而执行导航、点击、表单填写等复杂操作。这一技术的核心价值在于能够高效处理JavaScript密集型网站,解决传统HTTP请求无法获取动态内容的难题,广泛应用于数据挖掘、自动化测试、监控报警等场景。在实际工程化部署中,依赖外部浏览器二进制文件的自动化工具常面临分发挑战,例如Playwright框架在打包后因缺失浏览器驱动而报错。本文聚焦于Pla

weixin_33912246的博客 448

pyinstaller打包exe后无法执行错误解决

1、执行环境说明 python版本3.7 直接使用pip进行安装pywin32、pyinstaller pip install pywin32 pip install pyinstaller 2、使用了第三方库的情况 建议在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。pyinstaller -p...

非程序员专栏 4万+

Python程序打包实战:PyInstaller深度指南

Python程序打包是将源代码转换为可执行文件的关键技术,解决了环境依赖和分发的核心问题。其原理是通过封装解释器、依赖库和资源文件,构建独立运行环境。在工程实践中,打包技术显著提升了交付效率,尤其适用于数据分析工具、桌面应用和企业内部系统等场景。PyInstaller作为主流工具,支持跨平台打包和自动依赖处理,通过--onefile参数能生成开箱即用的独立可执行文件。针对企业级需求,还可结合CI/CD实现自动化构建,并通过UPX压缩等技术优化文件体积。

weixin_34343308的博客 373

Ubuntu安装Anaconda3遇到8608 Cannot open PyInstaller archive from executable问题

通过wget命令下载,不要通过浏览器下载,下载命令详见。

weixin_44322774的博客 2322

Python打包EXE三大工具对比:PyInstaller、cx_Freeze与Nuitka选型指南

Python脚本本质上是源代码,无法直接在无Python环境的机器上运行,因此‘打包成EXE’实为将解释器、依赖库和资源固化为独立可执行程序的技术过程。其核心原理涉及冻结(Freeze)或编译(Compile)两种范式:PyInstaller通过冻结字节码与运行时实现高兼容性;cx_Freeze以显式声明方式提供构建可控性;Nuitka则真正将Python翻译为C再编译为原生机器码,带来启动性能跃升。该技术广泛应用于桌面工具分发、内部自动化软件交付及企业级合规部署等场景,尤其在需规避环境依赖、提升首启体验或

weixin_34302561的博客 432

Python项目打包实战:PyInstaller、Docker与PEX方案深度解析

在软件开发和部署过程中,环境依赖管理是一个基础且关键的技术挑战。其核心原理在于确保应用在不同运行环境中具有一致的行为,这直接关系到软件的可移植性和交付效率。从技术价值角度看,有效的依赖打包方案能够显著提升开发运维效率,降低部署复杂度,并保障生产环境的稳定性。常见的应用场景包括桌面应用分发、数据分析脚本交付、命令行工具制作以及云原生微服务部署等。本文聚焦于Python生态,深入探讨了PyInstaller、Docker容器化以及PEX/zipapp这三种主流方案,其中PyInstaller通过静态分析和动态追

cuemes08808的博客 376

7个提升Python开发效率的实用库:从Requests到PyInstaller

在Python开发中,第三方库是提升效率、减少重复代码的关键。通过封装通用功能,这些库让开发者能专注于核心业务逻辑,而非底层实现。其技术价值在于标准化解决方案、优化性能并降低维护成本,广泛应用于数据处理、网络通信、自动化脚本和项目工程化等场景。本文聚焦于七个高效工具,涵盖HTTP请求、数据分析、日志记录、CLI构建、终端美化、依赖管理和程序打包,通过具体示例展示如何快速上手,帮助开发者构建更专业、更易维护的应用。

axfcjwkbi259888707的博客 431

Python程序打包exe全攻略:PyInstaller与Nuitka原理对比及实战

Python作为解释型语言,其程序运行依赖本机解释器与第三方库,导致在无Python环境中直接分发脚本难以执行。将“解释器、代码与依赖”封装为可执行文件(exe),成为交付桌面工具、内部自动化脚本或GUI应用的通用解法。打包技术不仅解决了环境依赖问题,还能降低用户使用门槛,并一定程度上保护源码。在实际工程中,PyInstaller以成熟的依赖收集机制和易用性著称,适合快速交付;Nuitka则通过将Python代码转为C再编译为机器码,带来更快的启动速度、更小的体积和更强的反逆向能力。无论是处理Flask-S

weixin_34290631的博客 721

MovieHeavens 打包实战:PyInstaller 一步步生成 Linux/Windows 免安装程序

MovieHeavens 是一款基于 PyQt5 的简单电影搜索工具,输入片名即可一键搜索电影天堂的片源,直接返回下载链接,全程无广告、无跳转。很多新手拿到源码后最头疼的就是「如何把它变成双击就能跑的程序」。这篇文章就是一份 MovieHeavens 打包实战教程:用 PyInstaller 一步步在 Linux 和 Windows 上生成免安装程序,打包成单个可执行文件,发给朋友无需装 Pyth

gitblog_00123的博客 980

Python打包与逆向:从PyInstaller编译到反编译实战指南

在软件分发和交付过程中,将脚本转换为独立可执行文件是常见需求。其核心原理并非传统编译,而是通过打包工具将解释器、代码和依赖库封装成独立环境。这一技术对于提升用户体验、实现商业交付具有重要价值,广泛应用于桌面工具、自动化脚本等场景。PyInstaller作为主流工具,通过递归分析依赖实现一键打包,而反编译则基于提取字节码并修复文件头的逆向过程。掌握编译与反编译的完整闭环,既能保障代码的安全交付,也为学习分析和调试提供了关键技术手段。

weixin_34072637的博客 422

VSCode中使用PyInstaller打包Python程序为EXE文件完整指南

Python程序分发面临的核心挑战是环境依赖问题,用户往往需要配置复杂的运行环境。为了解决这一痛点,Python打包技术应运而生,它通过将解释器、脚本代码和依赖库捆绑在一起,生成独立的可执行文件。PyInstaller作为当前最主流的打包工具,凭借其跨平台支持、开箱即用和自动依赖分析等特性,为开发者提供了高效的技术解决方案。在工程实践中,结合VSCode编辑器,开发者可以实现从编码到打包的一站式工作流。本文聚焦于PyInstaller在VSCode环境下的实战应用,详细讲解如何生成单文件可执行程序、处理资源

weixin_34326179的博客 352

PyInstaller Hook机制深度解析:解决打包后ModuleNotFoundError的完整指南

Python程序打包是将脚本转换为独立可执行文件的关键技术,广泛应用于软件分发和部署。其核心原理在于依赖分析和资源收集,确保运行时环境完整。PyInstaller作为主流工具,通过Hook机制自动化处理第三方库的隐藏依赖,如动态导入和数据文件,极大提升了打包成功率与软件可移植性。然而,当遇到小众库、新版本库或复杂动态导入时,Hook缺失或过时会导致典型的ModuleNotFoundError,使程序打包后闪退。本文聚焦PyInstaller Hook这一工程实践痛点,系统讲解其工作原理,并提供从诊断日志分析

weixin_34060741的博客 350

Python脚本打包EXE三大方案:PyInstaller、cx_Freeze、Nuitka对比选型

Python脚本打包为EXE是实现跨环境交付的关键技术环节,其本质是解决解释型语言在目标机器上‘无Python环境’时的可执行性问题。核心原理在于将Python解释器、依赖库与源码资源进行整合封装,并通过启动器或原生编译方式构建独立运行单元。该技术具有显著的工程价值:降低终端用户使用门槛、规避环境依赖冲突、提升部署一致性,并支撑内部工具产品化落地。典型应用场景包括自动化办公脚本分发、企业内网轻量级应用部署、以及面向客户的桌面工具发布。本文围绕PyInstaller、cx_Freeze和Nuitka三大主流方

weixin_34293059的博客 380

Python——第三方扩展库 之 使用 Pyinstaller 模块实现【Python代码打包成系统可执行文件】

Pyinstaller模块的简单使用

m0_66881249的博客 3229

Python GUI打包实战:PyInstaller与Nuitka稳定性深度对比

Python应用程序打包是将脚本转换为独立可执行文件的关键技术,其核心原理在于将解释器、依赖库和资源文件封装为单一分发单元。从技术价值看,打包解决了跨平台部署和环境依赖的痛点,使Python开发的桌面工具能够像原生软件一样被终端用户直接使用。在应用场景上,无论是内部工具分发还是商业软件交付,打包都是Python GUI开发(如Tkinter、PyQt项目)的必备环节。本文聚焦于**PyInstaller**和**Nuitka**两大主流工具,通过对比分析它们在打包Python Tkinter应用时的稳定性表

weixin_33698043的博客 369

Python脚本打包成exe的实战指南:PyInstaller与Nuitka选型对比

Python可执行文件(.exe)是将解释器、代码和依赖封装为独立运行单元的技术方案,其核心原理在于环境隔离与入口抽象。它并非简单格式转换,而是解决跨平台部署、权限管控、知识产权保护及自动化运维等工程化问题的关键环节。在企业交付场景中,PyInstaller以高兼容性成为主流选择,Nuitka则通过Python到C的真编译提供更强的安全性与性能优势。本文结合NYC Airbnb数据验证脚本实例,深入剖析二者在启动速度、体积控制、反编译难度及CI/CD集成能力上的差异,覆盖从虚拟环境初始化、路径处理陷阱到数字

weixin_30505225的博客 630

Python打包为exe的完整指南:PyInstaller实战技巧

Python程序打包是将脚本转换为独立可执行文件的关键技术,核心解决环境依赖问题。通过PyInstaller等工具,开发者可以将Python应用打包为exe文件,无需用户安装Python环境即可运行。这一技术特别适用于需要分发给非技术用户的场景,如企业内部工具、客户端应用等。PyInstaller作为主流打包工具,支持跨平台操作,能自动处理第三方库依赖,并生成单个exe文件。在实际工程中,合理使用虚拟环境和UPX压缩可以有效控制打包体积,而通过spec文件配置可以处理复杂项目的资源文件和多模块导入问题。掌握

weixin_34109408的博客 316

[2022] Cannot open PyInstaller archive from executable (/root/miniconda3/_conda) or external archive

centos7.9安装Miniconda3的时候的时候遇到报错,导致无法安装成功: [2022] Cannot open PyInstaller。

猿小白的博客 591
上一篇: pyinstalle出现Crypto.Cipher无法运行的问题
下一篇: pyinstaller打包项目后运行报错找不到依赖
努力的小豆子
博客等级 码龄6年 137粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小豆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值