我有2个具有 win32 和 win64 的虚拟机。我使用PyQt5构建程序,并使用以下命令将其与PyInstaller(3.3.1)打包:
pyinstaller updater.py --noconsole --onefile -i icons/icon.ico
当我在 win64 计算机上执行此操作时,它工作正常。程序工作。但是,当我在 win32 计算机上执行相同操作时,我生成的.exe
文件开始需要管理员权限,甚至在确认应用程序崩溃后也是如此。我检查了以下问题:Why does my pyinstaller created executable require admin privileges?
并重命名应用,但仍然崩溃。是什么原因造成的?为什么在win32防御程序上阻止我的应用程序,或者原因可能不在防御程序中。
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__(flags=QtCore.Qt.Dialog)
self.progress_bar = QtWidgets.QProgressBar()
self.progress_label = QtWidgets.QLabel()
central_widget = QtWidgets.QWidget(flags=QtCore.Qt.Widget)
central_layout = QtWidgets.QVBoxLayout()
central_layout.addWidget(self.progress_bar)
central_layout.addWidget(self.progress_label, alignment=QtCore.Qt.AlignLeft)
central_widget.setLayout(central_layout)
self.setCentralWidget(central_widget)
self.progress_label.setStyleSheet('color: grey')
def main():
application = QtWidgets.QApplication(sys.argv)
main_window = MainWindow()
main_window.setFixedSize(480, 120)
main_window.show()
sys.exit(application.exec_())
if __name__ == '__main__':
main()
requirements.txt:
PyInstaller==3.3.1
PyQt5==5.10.1
requests==2.18.4
答案 0 :(得分:0)
问题是因为我使用python 3.7,但是PyIntaller还不支持3.7。使用3.6可以正常使用,但仍要询问管理员权限...