python 打包 exe 时候遇到的问题
网上查可能是是无法调用cmd命令,训练和测试都会遇到这个问题,之前都是注释掉了,这次是打包时遇到这个问题
File "E:\anaconda3\envs\yolov5\lib\site-packages\PyInstaller\building\build_main.py", line 378, in __init__
self.hookspath += discover_hook_directories()
File "E:\anaconda3\envs\yolov5\lib\site-packages\PyInstaller\isolated\_parent.py", line 404, in wrapped
return call(function, *args, **kwargs)
File "E:\anaconda3\envs\yolov5\lib\site-packages\PyInstaller\isolated\_parent.py", line 372, in call
with Python() as isolated:
File "E:\anaconda3\envs\yolov5\lib\site-packages\PyInstaller\isolated\_parent.py", line 218, in __enter__
self._child = child(read_from_parent, write_to_parent)
File "E:\anaconda3\envs\yolov5\lib\site-packages\PyInstaller\isolated\_parent.py", line 163, in child
return subprocess.Popen(cmd, **options)
File "E:\anaconda3\envs\yolov5\lib\subprocess.py", line 858, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "E:\anaconda3\envs\yolov5\lib\subprocess.py", line 1311, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
pyinstaller --collect-data=第三方库名 -F main.py
如果还有问题的话,
还需要看你的具体打包命令来确定。
如有问题随时沟通
参考GPT和自己的思路:这个错误提示意味着在执行 subprocess.Popen() 函数时,创建子进程时指定的可执行文件或脚本不存在。
有几种可能的原因:
指定的文件或脚本确实不存在。检查路径是否正确,并确保文件或脚本实际存在于该路径中。
系统环境变量没有正确配置。如果文件或脚本在 PATH 中,则需要确保环境变量设置正确。
文件或脚本没有正确的执行权限。在 Linux 等类 Unix 系统上,可以使用 chmod 命令授予文件或脚本正确的执行权限。
缺少依赖项。某些程序可能需要依赖项才能正确运行。如果文件或脚本需要其他文件或库,请确保它们都存在且可以访问。
在你的情况下,这个错误可能是由于 PyInstaller 打包时无法找到某些依赖项或文件导致的。尝试检查是否缺少某些依赖项,并确保它们在系统上存在并且可以访问。您可以尝试使用 PyInstaller 的 --debug 标志来获取更多详细信息。
参考GPT和自己的思路,这个错误可能是由于打包时缺少某些文件或文件路径错误引起的。以下是几种可能的解决方法:
1.确认指定的文件路径是否正确。你需要检查你的代码中是否有使用了错误的文件路径,或者打包时是否正确包含了需要的文件。
2.检查 PyInstaller 是否已正确安装。确保 PyInstaller 已经正确地安装在你的 Python 环境中。可以通过在终端或命令提示符中输入“pyinstaller -h”来检查 PyInstaller 是否可以正常运行。
3.试着使用管理员权限重新运行 PyInstaller。如果你正在使用 Windows 平台,请尝试使用管理员权限重新运行 PyInstaller。
4.升级 PyInstaller 到最新版本。有时,这个错误可能是由于 PyInstaller 本身的 bug 引起的。升级到最新版本可能会解决这个问题。
5.禁用防病毒软件。有时,防病毒软件可能会阻止 PyInstaller 正常运行。你可以尝试禁用你的防病毒软件,然后重新运行 PyInstaller 看看是否能够解决问题。
希望以上解决方法对你有帮助。
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这个问题大致意思是系统找不到指定的文件,原因可能是一些缺失或错误的依赖项或路径设置错误。 我们可以尝试以下步骤修复此问题:
检查可执行文件的路径是否正确,我们可以尝试使用绝对路径来打包可执行文件。
检查打包使用的Python环境中是否有必要的依赖项,例如PyInstaller依赖于setuptools 和 pywin32 。我们需要确保这些依赖项已经安装。
重新打包,我们可以先清除之前的打包文件,然后重新进行打包。
将可执行文件路径添加到环境变量中,以便系统能够找到它。
在打包时使用--onefile选项,这样我们可以将所有依赖项打包到单个文件中,避免依赖项缺失。
代码样例:
# 安装PyInstaller依赖包
pip install setuptools pywin32
# 打包exe
pyinstaller --onefile main.py
其中main.py是你的主代码文件名。
如果我的回答解决了您的问题,请采纳!
管理员运行试试