【发布时间】:2020-09-25 22:40:36
【问题描述】:
我正在尝试使用 pyinstaller 使我的 python 代码更加用户友好,直到昨天,它还在工作。当我今天运行它时,我得到了以下错误:
C:\Users\user\Desktop\PythonProjects38>pyinstaller --onefile TransmittalEXE.py
83 INFO: PyInstaller: 4.0
83 INFO: Python: 3.8.5
83 INFO: Platform: Windows-10-10.0.18362-SP0
84 INFO: wrote C:\Users\user\Desktop\PythonProjects38\TransmittalEXE.spec
...
31623 INFO: checking PKG
31623 INFO: Building PKG because PKG-00.toc is non existent
31628 INFO: Building PKG (CArchive) PKG-00.pkg
41852 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
41915 INFO: Bootloader c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\bootloader\Windows-32bit\run.exe
41915 INFO: checking EXE
41917 INFO: Building EXE because EXE-00.toc is non existent
41921 INFO: Building EXE from EXE-00.toc
41927 INFO: Updating manifest in C:\Users\user\Desktop\PythonProjects38\build\TransmittalEXE\run.exe.d66z9a0v
42037 INFO: Updating resource type 24 name 1 language 0
42050 INFO: Appending archive to EXE C:\Users\user\Desktop\PythonProjects38\dist\TransmittalEXE.exe
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\user\Desktop\PythonProjects38\pyinstaller.exe\__main__.py", line 7, in <module>
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\__main__.py", line 114, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\__main__.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\building\build_main.py", line 720, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\building\build_main.py", line 667, in build
exec(code, spec_namespace)
File "C:\Users\user\Desktop\PythonProjects38\TransmittalEXE.spec", line 20, in <module>
exe = EXE(pyz,
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\building\api.py", line 446, in __init__
self.__postinit__()
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\building\datastruct.py", line 160, in __postinit__
self.assemble()
File "c:\users\user\desktop\pythonprojects38\venv\lib\site-packages\PyInstaller\building\api.py", line 622, in assemble
with open(exe, 'rb') as infh:
OSError: [Errno 22] Invalid argument: 'C:\\Users\\user\\Desktop\\PythonProjects38\\build\\TransmittalEXE\\run.exe.d66z9a0v'
为了获得更多参考,我尝试卸载并重新安装 pyinstaller 和 pywin32 无济于事。我的命令提示符条目是 pyinstaller --onefile TransmittalEXE.py。
还有其他人遇到过这个问题吗?我在这个论坛上看到过类似的问题,但不是这个确切的问题。
【问题讨论】:
-
我们只知道打开“build\TransmittalEXE\run.exe.d66z9a0v”由于某种未知原因而失败。不幸的是,
io.open没有将异常中的 C 运行时的_doserrno值捕获为原始winerror。无论实际发生什么错误,都没有有用的 Cerrno映射。它只是使用默认的EINVAL(22) 错误代码映射。
标签: python windows pyinstaller