業務改善ツール作成中に起こった出来事に関して備忘録として残しておきます。
#動作環境
Windows 10
python 3.8.5
PyInstaller 3.6
avast
#発生した問題
filesavetest.py
result="hogehoge"
with open("hoge.txt",'w',encoding="UTF-8", errors="") as f:
f.write(result)
コンソールから実行した場合特にエラー等出ずに、正常な動作をするが、
上記のFile I/Oを含むプログラムをpyinstallerで作成したexeファイル(単一ファイル)で
実行すると以下のようなエラーが出る
Traceback (most recent call last):
File "filesavetest.py", line 2, in <module>
with open("hoge.txt",'w',encoding="UTF-8", errors="") as f:
PermissionError: [Errno 13] Permission denied: 'hoge.txt'
[11656] Failed to execute script filesavetest
#解決方法
pyinstaller実行時にウィルス対策ソフト avastのアバストシールド制御を一時的に止めてから、
pyinstallerで生成したEXEファイルでは、上記のエラーは発生しなくなりました。
#追記
・avastのシールド制御が復活するとまた使えなく(上記のPermissionError)なった。
・右クリックメニューの管理者権限で実行するをした場合でも、上記のエラーが発生