返回

Auto-Py-To-Exe 转换 Python 脚本时输出目录错误如何解决?

windows

使用 Auto-Py-To-Exe 转换 Python 脚本时输出文件目录错误的解决方案

作为一位经验丰富的程序员,我经常使用 Auto-Py-To-Exe 将 Python 脚本转换为可执行文件。在最近一次转换过程中,我遇到了一个问题:输出文件保存在错误的目录中。

起初,我感到很困惑。按照以往的经验,输出文件应该保存在脚本所在的目录中。但是,这次输出文件却出现在了 %TEMP% 目录中。

经过一番研究,我找到了问题的原因:Auto-Py-To-Exe 在打包可执行文件时会创建一个临时目录来存储构建中间文件。默认情况下,此临时目录位于 %TEMP% 环境变量中。

当我以交互方式运行 Python 脚本时,它使用工作目录作为临时目录。但是,当我将脚本转换为可执行文件时,工作目录将变为可执行文件的目录。这就是为什么输出文件出现在 %TEMP% 目录中的原因。

为了解决这个问题,我需要指定一个自定义临时目录来存储构建中间文件。可以使用 --workpath 选项来实现。

步骤:

  1. 打开命令提示符或 PowerShell。
  2. 导航到存放 Python 脚本的目录。
  3. 执行以下命令,其中 my_script.py 是你要转换的 Python 脚本,output_directory 是你希望输出可执行文件和临时文件的目录:
auto-py-to-exe --noconfirm --onefile --console my_script.py --workpath output_directory --distpath output_directory

例如:

auto-py-to-exe --noconfirm --onefile --console main.py --workpath C:\Users\User\Desktop\Pp\temp --distpath C:\Users\User\Desktop\Pp\output

这将生成一个可执行文件,并将临时文件存储在 C:\Users\User\Desktop\Pp\temp 目录中,而不是 %TEMP% 目录中。

结论:

这个问题的根源在于 Auto-Py-To-Exe 的临时目录设置。通过指定一个自定义临时目录,可以轻松解决此问题。

常见问题解答:

  1. 为什么我的输出文件出现在 %TEMP% 目录中?
    答:因为 Auto-Py-To-Exe 默认使用 %TEMP% 目录作为临时目录。

  2. 如何指定一个自定义临时目录?
    答:使用 --workpath 选项。

  3. 我需要指定一个不同的输出目录吗?
    答:是的,使用 --distpath 选项指定输出目录。

  4. 我可以使用 --workpath 选项存储哪些文件?
    答:临时文件,如构建中间文件。

  5. 有什么其他方法可以解决这个问题?
    答:没有其他方法,指定一个自定义临时目录是解决此问题的唯一方法。