Nuitka打包报错

前言

使用Nuitka打包python项目时发生报错

报错

Nuitka-Plugins:INFO: pyqt5: Found 2 files DLLs from 'OpenSSL' PyQt5 installation.

Nuitka-Inclusion:INFO: Analyzing dependencies of 'app.dist\app.exe'.

Detecting used DLLs: 2.6%|▋ | 1/39, app.exeTraceback (most recent call last):

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka_main _.py", line 155, in

main()

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka_main _.py", line 141, in main

MainControl.main()

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\MainControl.py", line 1109, in main

_main()

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\MainControl.py", line 1012, in _main

detectUsedDLLs(

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\Standalone.py", line 766, in detectUsedDLLs

_detectUsedDLLs(

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\Standalone.py", line 688, in _detectUsedDLLs

used_dlls = _detectBinaryDLLs(

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\Standalone.py", line 593, in _detectBinaryDLLs

return detectBinaryPathDLLsWindowsDependencyWalker(

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DllDependenciesWin32.py", line 97, in detectBinaryPathDLLsWindowsDependencyWalker

result = detectDLLsWithDependencyWalker(

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DependsExe.py", line 221, in detectDLLsWithDependencyWalker

result = parseDependsExeOutput(output_filename)

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DependsExe.py", line 162, in parseDependsExeOutput

return _parseDependsExeOutput2(getFileContentByLine(filename, encoding="latin1"))

File "C:\Users\yuai.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DependsExe.py", line 154, in _parseDependsExeOutput2

assert os.path.isfile(dll_filename), (dll_filename, line)

AssertionError: ('d:\\x04\x0\x04\x04\x04\\x04\x04\x04\x04\t4\x04\x04\x04\x04\jvms_v~1.5_a\store\jdk11\bin\api-ms-win-crt-runtime-l1-1-0.dll', ' \^6 d:\\x04\x04\x04\tools\\x04\x04\x04\x4\x04\x04\jvms_v~1.5_a\store\jdk11\bin\API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL')

bash 复制代码
Nuitka-Plugins:INFO: pyqt5: Found 2 files DLLs from 'OpenSSL' PyQt5 installation.
Nuitka-Inclusion:INFO: Analyzing dependencies of 'app.dist\app.exe'.
Detecting used DLLs: 2.6%|▋                        | 1/39, app.exeTraceback (most recent call last):
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\__main__.py", line 155, in <module>
    main()
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\__main__.py", line 141, in main
    MainControl.main()
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\MainControl.py", line 1109, in main
    _main()
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\MainControl.py", line 1012, in _main
    detectUsedDLLs(
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\Standalone.py", line 766, in detectUsedDLLs
    _detectUsedDLLs(
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\Standalone.py", line 688, in _detectUsedDLLs
    used_dlls = _detectBinaryDLLs(
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\Standalone.py", line 593, in _detectBinaryDLLs
    return detectBinaryPathDLLsWindowsDependencyWalker(
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DllDependenciesWin32.py", line 97, in detectBinaryPathDLLsWindowsDependencyWalker
    result = detectDLLsWithDependencyWalker(
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DependsExe.py", line 221, in detectDLLsWithDependencyWalker
    result = parseDependsExeOutput(output_filename)
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DependsExe.py", line 162, in parseDependsExeOutput
    return _parseDependsExeOutput2(getFileContentByLine(filename, encoding="latin1"))
  File "C:\Users\yuai\.pyenv\pyenv-win\versions\3.9.4\lib\site-packages\nuitka\freezer\DependsExe.py", line 154, in _parseDependsExeOutput2
    assert os.path.isfile(dll_filename), (dll_filename, line)
AssertionError: ('d:\\\x04\\\x04\x04\x04\x04\\tools\\\x04\x\x04\x04\x04\\jvms_v~1.5_a\\store\\jdk11\\bin\\api-ms-win-crt-runtime-l1-1-0.dll', '               [ ^6] d:\\\x04\x04\x04\x04\x04\x04\x04\x04\\\x04\x04\x04\x04\\tools\\\x04\x04\x04\x04\x04\x04\x04\x04\\jvms_v~1.5_a\\store\\jdk11\\bin\\API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL')

解决方法

发生这种错误的原因是我的Java.exe即我Java环境的路径有特殊字符,如中文。。。。解决方法其实也就是将Java换成纯英文一类的不带特殊字符的路径即可。

比如我这里换成了

bash 复制代码
D:\Java\jvms_v2.1.5_amd64

之前用习惯了自己搭建的武器库,导致武器库的路径有大量的中文,只不过我没太想到的是这玩意调用Java的频率不低。没办法只能给Java换路径,导致我重构了武器库,裂开

相关推荐
爱吃羊的老虎20 分钟前
【JAVA】python转java:Spring Boot 入门
java·spring boot·python
Love_云宝儿36 分钟前
GeoJSON简介
java·gis·地图·jts
小桥流水---人工智能1 小时前
【已解决】ImportError: cannot import name ‘AdamW‘ from ‘transformers.optimization‘
python
Thecozzy1 小时前
PR经历(Understand-Anything)
github
芝麻开门GEO1 小时前
泰安GEO优化服务,真的能提升效果吗?
人工智能·python
摇滚侠1 小时前
JDBC 基础到高级一套通关!进阶篇 16-27
java
颜酱1 小时前
选读:工业级调用 LangChain:从 Demo 到企业级应用
python
明志数科1 小时前
4D时序标注技术详解:让机器人理解连续动作的数据基础
java·算法·机器人
颜酱2 小时前
LangChain 调用大模型实战:从跑通到服务商与模型选型
python·langchain
_qingche2 小时前
H2 数据库到 MySQL 数据迁移
java·数据库·spring boot·mysql·spring·重构·kotlin