-
-
Notifications
You must be signed in to change notification settings - Fork 899
Open
Description
本文日本語で失礼します。
pyxel.reset()機能を使ってプログラムを再起動すると、ローカル実行時には正常に動作する(再起動する)のですが、exe実行時はそのタイミングで「Failed to remove temporary directory: C:¥Users¥user¥AppData¥Local¥Temp¥_MEI60002」のようなエラーメッセージが表示されてプログラムが落ちてしまいます。
ChatGPTに問い合わせたところ以下の見解でしたが、これはユーザー側の対応で解決できる問題でしょうか?
症状からすると PyInstaller の one-file 実行形式で展開される一時フォルダ(_MEIxxxxx)のクリーンアップ失敗が原因の可能性が高いです。
pyxel.reset() は内部で自分自身を再実行する(execv 相当)ため、**終了時に親プロセスが _MEI... を削除しようとした瞬間、まだそのディレクトリを掴んでいる(=カレントディレクトリや開きっぱなしのファイルハンドルが残っている)**と、PyInstaller ブートローダが「Failed to remove temporary directory …」で落ちます。ローカル(.py 実行)だとこの仕組みがないので再現しません。
Metadata
Metadata
Assignees
Labels
No labels