winError 2 系统找不到指定的文件

python 打包 exe 时候遇到的问题
网上查可能是是无法调用cmd命令,训练和测试都会遇到这个问题,之前都是注释掉了,这次是打包时遇到这个问题

img

  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] 系统找不到指定的文件。

解决方法

  • 1、 尝试以管理员权限重新运行cmd,然后运行pyinstaller命令
  • 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大模型与博主波罗歌共同编写:
这个问题大致意思是系统找不到指定的文件,原因可能是一些缺失或错误的依赖项或路径设置错误。 我们可以尝试以下步骤修复此问题:

  1. 检查可执行文件的路径是否正确,我们可以尝试使用绝对路径来打包可执行文件。

  2. 检查打包使用的Python环境中是否有必要的依赖项,例如PyInstaller依赖于setuptools 和 pywin32 。我们需要确保这些依赖项已经安装。

  3. 重新打包,我们可以先清除之前的打包文件,然后重新进行打包。

  4. 将可执行文件路径添加到环境变量中,以便系统能够找到它。

  5. 在打包时使用--onefile选项,这样我们可以将所有依赖项打包到单个文件中,避免依赖项缺失。

代码样例:

# 安装PyInstaller依赖包
pip install setuptools pywin32
# 打包exe
pyinstaller --onefile main.py

其中main.py是你的主代码文件名。
如果我的回答解决了您的问题,请采纳!

管理员运行试试