python打不开exe怎么回事_python .exe无法正常工作

我下载了pyinstaller,以便将我的

python脚本变成可执行程序.我有一个主脚本((homepage.py),当它运行时,它会显示一个带有两个按钮的窗口(button1和button2).如果单击这两个按钮,它们中的每一个都会运行相应的python脚本(input1.py或input2.py)显示一个窗口,用户在excel中输入要绘制的数据.

当我通过Anaconda在Spyder中运行它们时,我的脚本正常工作.但是,当我将主脚本(Homepage.py)转换为可执行程序并运行它时,会出现带有两个按钮的主窗口,但是当我单击这两个按钮中的任何一个时,相应的窗口不会出现并且程序关闭.有谁知道为什么会这样?我是否需要将input1.py和input2.py转换为.exe程序,就像我使用homepage.py一样?

在我的脚本中,当我需要点击任何按钮时,我会隐藏主窗口并显示新窗口.隐藏和显示是什么导致我的程序无法正常运行,即使它在Spyder中工作?

主窗口(homapge.py)导入和类名,

from PyQt5 import QtCore, QtGui, QtWidgets

from input1 import Ui_input1

from input2 import Ui_input2

class Ui_homepage(object):

button1(input1.py)导入和类名,

from PyQt5 import QtCore, QtGui, QtWidgets

import csv, os, subprocess, output1

class Ui_input1(object):

button2(input2.py)导入和类名,

from PyQt5 import QtCore, QtGui, QtWidgets

import csv, os, subprocess, output2

class Ui_input2(object):

另外,在input1.py和input2.py中,我有一个按钮功能,单击时返回主窗口(homepage.py),并在我导入的函数内,

from homepage import Ui_homepage

在homepage.py,input1.py和input2.py的末尾我有这个导入,

if __name__ == "__main__":

import sys

如果您需要更多说明或代码,请与我们联系.

编辑1:

我在主窗口(homepage.py)中使用的代码,它调用button1,

self.button1.clicked.connect(self.displayWindow1)

def displayWindow1(self):

self.window = QtWidgets.QMainWindow()

self.uiInput1 = Ui_input1()

self.uiInput1.setupUi(self.window)

self.homepage.hide()

self.window.showMaximized()

我在主窗口(homepage.py)中使用的代码,它调用button2,

self.button2.clicked.connect(self.displayWindow2)

def displayWindow1(self):

self.window = QtWidgets.QMainWindow()

self.uiInput2 = Ui_input1()

self.uiInput2.setupUi(self.window)

self.homepage.hide()

self.window.showMaximized()

编辑2:

我改变之后尝试运行程序

from input1 import Ui_input1

from input2 import Ui_input2

至,

import input1

import input2

键入pyinstaller –onefile –windowed homepage.exe后,在命令提示符窗口中出现此错误,

25160 WARNING: lib not found: MSVCR90.dll dependency of c:\users\bj914e

\appdata\local\continuum\anaconda3\Library\bin\zlib.dll

我在warnhomepage.txt文件中收到了这些错误,

missing module named resource - imported by posix, C:\Users\bj914e\Desktop

\DAMS\DAMS_Version_4\homepage.py

missing module named posix - imported by os, C:\Users\bj914e\Desktop

\DAMS\DAMS_Version_4\homepage.py

missing module named _posixsubprocess - imported by subprocess, C:\Users

\bj914e\Desktop\DAMS\DAMS_Version_4\homepage.py

missing module named org - imported by pickle, C:\Users\bj914e\Desktop

\DAMS\DAMS_Version_4\homepage.py

missing module named readline - imported by cmd, code, pdb, C:\Users

\bj914e\Desktop\DAMS\DAMS_Version_4\homepage.py

excluded module named _frozen_importlib - imported by importlib,

importlib.abc, C:\Users\bj914e\Desktop\DAMS\DAMS_Version_4\homepage.py

missing module named _frozen_importlib_external - imported by

importlib._bootstrap, importlib, importlib.abc, C:\Users\bj914e\Desktop

\DAMS\DAMS_Version_4\homepage.py

missing module named _winreg - imported by platform, C:\Users\bj914e

\Desktop\DAMS\DAMS_Version_4\homepage.py

missing module named _scproxy - imported by urllib.request

missing module named java - imported by platform, C:\Users\bj914e\Desktop

\DAMS\DAMS_Version_4\homepage.py

missing module named 'java.lang' - imported by platform, C:\Users\bj914e

\Desktop\DAMS\DAMS_Version_4\homepage.py, xml.sax._exceptions

missing module named vms_lib - imported by platform, C:\Users\bj914e

\Desktop\DAMS\DAMS_Version_4\homepage.py

missing module named termios - imported by tty, C:\Users\bj914e\Desktop

\DAMS\DAMS_Version_4\homepage.py, getpass

missing module named grp - imported by shutil, tarfile, C:\Users\bj914e

\Desktop\DAMS\DAMS_Version_4\homepage.py

missing module named pwd - imported by posixpath, shutil, tarfile,

http.server, webbrowser, C:\Users\bj914e\Desktop\DAMS\DAMS_Version_4

\homepage.py, netrc, getpass

missing module named _dummy_threading - imported by dummy_threading,

C:\Users\bj914e\Desktop\DAMS\DAMS_Version_4\homepage.py

missing module named 'org.python' - imported by copy, C:\Users\bj914e

\Desktop\DAMS\DAMS_Version_4\homepage.py, xml.sax

missing module named cPickle - imported by xlsxwriter.compat_collections

missing module named cStringIO - imported by cPickle

missing module named copy_reg - imported by cPickle, cStringIO

missing module named StringIO - imported by xlsxwriter.compatibility

更新:

我能够解决我的问题.事实证明这是一个非常简单的解决方案.单击其中一个按钮后程序关闭,但是命令提示窗口出现并在一毫秒内消失,我之前没有注意到,直到我在下面的解决方案中提到它.解决方案是使用.exe程序将input1.py和input2.py使用的所有数据文件移动到dist文件中.

P.S:有些录制节目太慢,无法录制出现和消失的窗口,所以我尝试使用我的智能手机(iPhone)相机,它能够检测到它.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值