我需要将 python 程序转换为可执行文件,在我看来最方便的方法是使用 Auto Py To Exe。但是 Auto Py To Exe 执行的命令出了点问题:
pyinstaller -y -w -i "D:/PythonProjects/LogoServer.ico" --version-file 1.0 "D:/PythonProjects/vrserver(ver4)/vrserver/main.py"
和窗口中的输出:
Building in the current instances temporary directory at
C:\Users\11\AppData\Local\Temp\tmphg9pxkms
To get a new temporary directory, restart this application
Executing: pyinstaller -y -w -i "D:/PythonProjects/LogoServer.ico" --
version-file 1.0 "D:/PythonProjects/vrserver(ver4)/vrserver/main.py"
1727545 INFO: PyInstaller: 3.4
1727546 INFO: Python: 3.5.2
1727546 INFO: Platform: Windows-10-10.0.17134-SP0
1727547 INFO: wrote C:\Users\11\AppData\Local\Temp\tmphg9pxkms\main.spec
1727550 INFO: UPX is not available.
1727551 INFO: Extending PYTHONPATH with paths
['D:\\PythonProjects\\vrserver(ver4)\\vrserver',
'C:\\Users\\11\\AppData\\Local\\Temp\\tmphg9pxkms']
1727551 INFO: checking Analysis
1727552 INFO: Building Analysis because Analysis-01.toc is non existent
1727552 INFO: Initializing module dependency graph...
1727553 INFO: Initializing module graph hooks...
1727555 INFO: Analyzing base_library.zip ...
1730165 INFO: running Analysis Analysis-01.toc
1730263 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python.exe
1730357 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python.exe
1730451 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python.exe
1730549 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python.exe
1730645 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python.exe
1730825 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1730918 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731014 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731108 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731202 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731295 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731389 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731483 WARNING: lib not found: api-ms-win-crt-process-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731585 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731675 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731774 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731871 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\python35.dll
1731967 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\VCRUNTIME140.dll
1732060 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\VCRUNTIME140.dll
1732154 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\VCRUNTIME140.dll
1732248 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\VCRUNTIME140.dll
1732343 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of C:\Users\11\AppData\Local\Programs\Python\Python35\VCRUNTIME140.dll
1732349 INFO: Caching module hooks...
1732354 INFO: Analyzing D:\PythonProjects\vrserver(ver4)\vrserver\main.py
1732853 INFO: Loading module hooks...
1732854 INFO: Loading module hook "hook-PyQt5.QtWidgets.py"...
1735316 WARNING: Cannot read QLibraryInfo output: raised Expecting value: line 1 column 1 (char 0) when decoding:
Traceback (most recent call last):
File "<string>", line 11, in <module>
TypeError: __call__() got an unexpected keyword argument 'qualname'
An error occurred, traceback follows:
Traceback (most recent call last):
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\auto_py_to_exe\__main__.py", line 215, in convert
pyi.run() # Execute PyInstaller
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\__main__.py", line 111, in run
run_build(pyi_config, spec_file, **vars(args))
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\build_main.py", line 838, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\build_main.py", line 784, in build
exec(text, spec_namespace)
File "<string>", line 17, in <module>
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\build_main.py", line 241, in __init__
self.__postinit__()
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
self.assemble()
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\build_main.py", line 500, in assemble
module_hook.post_graph()
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\imphook.py", line 410, in post_graph
self._load_hook_module()
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\building\imphook.py", line 377, in _load_hook_module
self.hook_module_name, self.hook_filename)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\compat.py", line 736, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 388, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 809, in load_module
File "<frozen importlib._bootstrap_external>", line 668, in load_module
File "<frozen importlib._bootstrap>", line 268, in _load_module_shim
File "<frozen importlib._bootstrap>", line 693, in _load
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 665, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\hooks\hook-PyQt5.QtWidgets.py", line 11, in <module>
hiddenimports, binaries, datas = add_qt5_dependencies(__file__)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\utils\hooks\qt.py", line 514, in add_qt5_dependencies
more_binaries = qt_plugins_binaries(plugin, namespace=namespace)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\utils\hooks\qt.py", line 132, in qt_plugins_binaries
pdir = qt_plugins_dir(namespace=namespace)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\utils\hooks\qt.py", line 95, in qt_plugins_dir
paths = [pyqt5_library_info.location['PluginsPath']]
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\site-packages\PyInstaller\utils\hooks\qt.py", line 67, in __getattr__
qli = json.loads(json_str)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\11\AppData\Local\Programs\Python\Python35\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Project output will not be moved to output folder
Complete.
有人怀疑这是由于使用了 PyQT5,但这是基于 pyinstaller 对 PyQT4 不友好的事实。没有其他想法。有什么问题?
结果,最简单的事情是使用 Cx_freeze - 没有问题