我使用 pyinstaller --onefile send.py 命令编译了应用程序,还尝试了 pyinstaller -F send.py ,但是,在启动生成的 .exe 文件后,控制台打开、挂起并突然关闭,给出了一些难以理解的东西,然后我尝试通过cmd打开这个应用程序,这就是它所说的
Python path configuration:
PYTHONHOME = 'C:\Users\805B~1\AppData\Local\Temp\_MEI82802'
PYTHONPATH = (not set)
program name = 'C:\Users\\u0410\u0440\u0441\u043b\u0430\u043d\OneDrive\\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b\\u041a \u0441\u0431\u043e\u0440\u043a\u0435\send.exe'
isolated = 0
environment = 0
user site = 0
import site = 0
sys._base_executable = 'C:\\Users\\\u0410\u0440\u0441\u043b\u0430\u043d\\OneDrive\\\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b\\\u041a \u0441\u0431\u043e\u0440\u043a\u0435\\send.exe'
sys.base_prefix = ''
sys.base_exec_prefix = ''
sys.platlibdir = 'lib'
sys.executable = 'C:\\Users\\\u0410\u0440\u0441\u043b\u0430\u043d\\OneDrive\\\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b\\\u041a \u0441\u0431\u043e\u0440\u043a\u0435\\send.exe'
sys.prefix = ''
sys.exec_prefix = ''
sys.path = [
'C:\\Users\\805B~1\\AppData\\Local\\Temp\\_MEI82802\\base_library.zip',
'C:\\Users\\805B~1\\AppData\\Local\\Temp\\_MEI82802\\lib-dynload',
'C:\\Users\\805B~1\\AppData\\Local\\Temp\\_MEI82802',
]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
LookupError: unknown encoding: utf-8
Current thread 0x00002064 (most recent call first):
<no Python frame>
“系统变量”里面有变量,里面有一个PATH变量,里面写着-C:\Python
C:\Python\Scripts\
pyinstaller 版本 4.3 python 版本 3.9.5 32 位 pip 版本 21.1.2
我个人找到了我的解决方案,从这里https://github.com/pyinstaller/pyinstaller/issues/5438 -> 这似乎是由于键入安装在 python 版本下的包,不再需要。卸载打字应该可以解决问题。请参阅 psf/black#1707(评论)和链接到那里的相应打字问题(即,python/typing#573)。
我只需要删除打字模块,我不知道它负责什么,但我的应用程序在那之后工作了
pip 卸载输入