首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pyinstaller:无法为QtWebEngineProcess.exe网络应用程序找到PyQT5

Pyinstaller:无法为QtWebEngineProcess.exe网络应用程序找到PyQT5
EN

Stack Overflow用户
提问于 2021-04-12 15:10:21
回答 3查看 4K关注 0票数 1

我正在开发一个显示folium地图的web应用程序。web应用程序有3个选项卡,每个选项卡都添加了一个QtWebEngineView小部件。

我正试图为我的web应用程序创建一个独立的.exe文件。因此,我使用Pyinstaller将我的项目转换为一个.exe文件。我已经对我的规范文件做了一些修改,以解决以前的一个问题(修复)。规范文件就是这样的。

代码语言:javascript
运行
复制
# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['main.py'],
             pathex=['D:\\Bus_Stop_Finder'],
             binaries=[],
             datas=[('input\\stops.txt', 'input'), 
             ('input\\Suggestions.xlsx', 'input'),
             (".\\venv\\Lib\\site-packages\\branca\\*.json","branca"),
             (".\\venv\\Lib\\site-packages\\branca\\templates","templates"),
             (".\\venv\\Lib\\site-packages\\folium\\templates","templates"),
             ],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='main',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True )
          
            
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='main')

在运行Pyinstaller mainspec时,会创建dist文件夹和main.exe文件,但一旦运行main.exe文件,就会得到以下错误:

代码语言:javascript
运行
复制
Could not find QtWebEngineProcess.exe

我试着阅读了有关部署Qt WebEngine应用程序的Qt文档,并注意到

对每个WebEngine或WebEngineView实例执行该进程。

我不确定,在哪里我要做一个修改或修正。有人能帮我解决这个问题吗?

EN

回答 3

Stack Overflow用户

发布于 2021-05-16 06:51:42

我也遇到了类似的问题,终于解决了。(Python 3.9.5和PyQt5.15.4)

您的问题与规范文件修改无关。

问题的根源在于生成文件的结构。更准确地说,在dist目录中。

QtWebEngineProcess.exe是app_name.exe正在寻找的,它存在于dist>{app_name}>PyQt5>Qt>bin路径中,但是这个应用程序无法访问它。要创建此访问权限,必须执行以下任务:

  1. dist>{app_name}目录中创建文本文件并将其命名为qt.conf
  2. 在其中输入以下文本 路径前缀=PyQt5 5/Qt/

现在main.exe运行时没有任何问题:)

票数 4
EN

Stack Overflow用户

发布于 2021-05-18 10:22:45

我也有同样的问题,尝试了萨阿姆的修复,但显然,最后一个斜线是通过钩子添加的。我在dist/appname dir中添加了一个qt.conf文件

代码语言:javascript
运行
复制
[Paths]
Prefix = PyQt5/Qt
票数 1
EN

Stack Overflow用户

发布于 2021-09-11 07:09:03

代码语言:javascript
运行
复制
[Paths]
Prefix = PyQt5/Qt/

您必须创建一个包含上述详细信息的qt.conf文件,并且该文件应该与您的应用程序一起使用。示例1

示例2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67060913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档