gpt4 book ai didi

python - 更新最新 PySide 后 Pyinstaller 错误

转载 作者:行者123 更新时间:2023-11-28 18:58:31 27 4
gpt4 key购买 nike

我有一个工作的 python(3.6.8) 和 Pyside(5.12.0) 应用程序。

以前我能够创建一个文件 exe 并且它运行良好。

But after updating Pyside to 5.12.2 I am not able to run app. there is ModuleNotFoundError: No module named 'typing'

我已经安装了输入模块(pip install typing)。我尝试卸载 pyside(5.12.2) 并重新安装 pyside(5.12.0)

但我仍然遇到同样的错误。这是错误。

Problem importing shibokensupport:
No module named 'typing'
Traceback (most recent call last):
File "(builtin)", line 93, in ensure_shibokensupport
File "(builtin)", line 133, in bootstrap
File "C:\Users\LS0020\AppData\Local\Temp\embedded.u2j069ui.zip\shibokensupport\signature\loader.py", line 156, in <module>
import typing
ModuleNotFoundError: No module named 'typing'
sys.path:
C:\Users\LS0020\AppData\Local\Temp\embedded.u2j069ui.zip
C:\Users\LS0020\AppData\Local\Temp\_MEI101642\base_library.zip
C:\Users\LS0020\AppData\Local\Temp\_MEI101642
Traceback (most recent call last):
File "(builtin)", line 93, in ensure_shibokensupport
File "(builtin)", line 133, in bootstrap
File "C:\Users\LS0020\AppData\Local\Temp\embedded.u2j069ui.zip\shibokensupport\signature\loader.py", line 156, in <module>
ModuleNotFoundError: No module named 'typing'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "(builtin)", line 133, in bootstrap
File "contextlib.py", line 99, in __exit__
File "(builtin)", line 102, in ensure_shibokensupport
SystemExit: -1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "(builtin)", line 147, in bootstrap
UnboundLocalError: local variable 'loader' referenced before assignment
SystemError: could not initialize part 2

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "demo.py", line 1, in <module>
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "c:\program files\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\PySide2\__init__.py", line 51, in <module>
File "site-packages\PySide2\__init__.py", line 21, in _setupQtDirectories
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "c:\program files\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
SystemError: PyEval_EvalFrameEx returned a result with an error set
[7584] Failed to execute script demo

最佳答案

我在使用 cx_freeze 时遇到了完全相同的问题。在构建并运行 cx_freeze 应用程序后,我得到了错误:

Problem importing shibokensupport:
No module named 'typing'
Traceback (most recent call last):
File "(builtin)", line 93, in ensure_shibokensupport
File "(builtin)", line 133, in bootstrap
File "/tmp/embedded.mp0z2vy0.zip/shibokensupport/signature/loader.py", line 156, in <module>
import typing

我将 typing 手动添加到需要包含在 cx_freeze setup.py 中的包中:

# -*- coding: utf-8 -*-

import sys
from cx_Freeze import setup, Executable

options = {
'build_exe': {
'packages': [
'os',
'typing'
],
'excludes': [
'tkinter'
]
}
}

base = None

if sys.platform == 'win32':
base = 'Win32GUI'

executables = [
Executable('qt_test1.py', base=base)
]

setup(
name='qt_test1',
version='0.1',
description='My GUI application!',
options=options,
executables=executables
)

这样就可以了。它现在运行。

这意味着对于 PyInstaller,您必须以这种方式调用它:

$ pyinstaller your_app.py --hidden-import="typing"

实际上,我不知道是否有更好的方法让 PyInstaller 在构建过程中显式添加模块。

关于python - 更新最新 PySide 后 Pyinstaller 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55491307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com