【问题标题】:Pyinstaller exe file failed to execute script due to unhandled exception由于未处理的异常,Pyinstaller exe 文件无法执行脚本
【发布时间】:2023-01-21 11:16:37
【问题描述】:

我正在尝试使用命令 pysintaller --onefile [name] 将我的 python 程序转换为 .exe 文件,一切都很顺利,但是当我运行我的 .exe 文件时,我收到错误消息“由于未处理的异常而无法执行脚本,否模块名称请求。我已经安装了库并将我的文件夹从 dist 文件中移出,但同样的事情。有人能帮我吗?(我用 Visual Studio 测试了我的代码它有效。

import requests
import tkinter 
from cProfile import label
from tkinter import *
from bs4 import BeautifulSoup
def show_data():
    link = ent.get()
    result = requests.get(link)
    soup = BeautifulSoup(result.text, 'html.parser')
    images = soup.find_all('img')
    liste = []
    for image in images:
        image = image['src']
        if "https://cdn2.sorsware.com" and "buyuk" in image:
              liste.append(image)
    txt.insert(0.0,liste)
def delete_data():
    txt.delete(1.0,END)
gui = Tk()
gui.geometry("1000x500")
gui.title("BSL")

l1 = Label(gui,text="Link:")

ent = Entry(gui,width=600)

l1.grid(row=0)
ent.grid(row=0,column=1)
txt = Text(gui,width=125,wrap=WORD,font=("Arial",10))
txt.place(x=500,y=250,anchor=CENTER)
btn = Button(gui,text = "Results",bg ="black",fg="white",width=5,height=2,command=show_data)
btn.grid(row=1)

btn_delete = Button(gui,text = "delete",bg ="black",fg="white",width=5,height=2,command=delete_data)
btn_delete.grid(row=2)
gui.mainloop()

【问题讨论】:

  • 如果没有更多信息,将很难提供帮助。您可以发布使用的pyinstaller 命令以及alp.pyalp.spec 的内容吗?
  • 我刚刚做了,谢谢你让我知道

标签: python tkinter pyinstaller


【解决方案1】:

pip 安装请求 几天前我也遇到同样的错误,试试这个命令

【讨论】:

  • 我已经安装了 requests 遗憾的是它不起作用
  • 您的答案可以通过其他支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写出好的答案的信息in the help center
【解决方案2】:

看起来它找不到 requests 模块。确保您在安装了所有依赖项的虚拟环境中运行pyinstaller

你可以安装

pip install requests

测试后编辑:

我能够安装并执行您提供的 alp.py 脚本,并使用 pyinstaller 构建一个 exe。这是我遵循的步骤(在 Windows 10 上)。

目录树如下所示:

alp/
  env/
  alp.py

在你的alp 文件夹中,首先我们将设置一个 virtualenv 并更新它:

py -m venv env
source env/Scripts/activate
python -m pip install --upgrade pip

如果您使用的是标准 Windows 控制台,您可能只需执行 env/Scripts/activate(省略 source)即可启用您的 virtualenv。

现在安装依赖项并测试应用程序:

pip install beautifulsoup4 requests pyinstaller
python alp.py

如果一切顺利,窗口打开并且没有错误。现在我们可以构建可执行文件。

pyinstaller --onefile alp.py

我怀疑发生的事情是当您运行 pyinstaller 命令时,您与项目依赖项不在同一个 virtualenv 中,这就是为什么无论您重新安装它多少次都无法导入 requests 的原因。

如果您确定您与依赖项处于相同的环境中,我们可能必须看到来自 pyinstaller 命令的一些错误输出。

【讨论】:

  • 我已经卸载并安装了大多数版本的请求,但同样的错误仍然发生,显然有些人也受到这个问题的影响,并出现完全相同的错误
  • 您是否在 virtualenv 中安装了依赖项?你是在同一个 virtualenv 中运行 pyinstaller 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2018-12-09
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多