PySyde2 / fbs 冻结 / 无法执行脚本 main

PySyde2 / fbs freeze / fail to execute script main

希望你们一切顺利!我正在使用 PyCharm 和 Virtual Env 开始一个项目。有人可以帮忙吗? 我有这些文件:

main.py 代码:

from fbs_runtime.application_context.PySide2 import ApplicationContext
import sys
from package.main_window import MainWindow
if __name__ == '__main__':
    appctxt = ApplicationContext()       # 1. Instantiate ApplicationContext
    window = MainWindow()
    window.resize(250, 150)
    window.show()
    exit_code = appctxt.app.exec_()      # 2. Invoke appctxt.app.exec_()
    sys.exit(exit_code)

我有另一个文件 main_window.py,其中包含以下代码: 从 PySide2 导入 QtWidgets

class MainWindow(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.setup_ui()

    def setup_ui(self):
        self.create_widgets()
        self.modify_widgets()
        self.create_layouts()
        self.add_widgets_to_layouts()
        self.setup_connections()

    def create_widgets(self):
        self.btn_click = QtWidgets.QPushButton("Click")

    def modify_widgets(self):
        pass

    def create_layouts(self):
        self.main_layout = QtWidgets.QVBoxLayout(self)

    def add_widgets_to_layouts(self):
        self.main_layout.addWidget(self.btn_click)

    def setup_connections(self):
        self.btn_click.clicked.connect(self.bouton_clicked)

    def bouton_clicked(self):
        message_box = QtWidgets.QMessageBox()
        message_box.setWindowTitle("Bravo")
        message_box.setText("Première application réussi")
        message_box.exec_()

最后我创建了一个 freeze.sh 文件: 来源 ~/PycharmProjects/venv/Scripts/activate cd ~/PycharmProjects/echaufement/

fbs clean
fbs freeze

我 cd 我的 src/main 文件夹并使用:sh freeze.sh 它创建一个包含我的 App.exe 的目标文件夹 但是当打开我的 App.exe 我有以下错误:无法执行脚本主要 最后在调试后 -fbs freeze --debug- 我有这个 - 请看图片 谢谢您的帮助。

./Scripts/fbs-script.py 第 11 行是否存在路径问题?

另外,作为一般规则,fbs 在 python 3.6 之后表现不佳。 python 3.6.x venv?

时再次尝试冻结应用程序

我在此处概述了如何使用 python 3.6.x virtualenv 构建 fbs 应用程序: