PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
Re: [問題] 工作排程器執行pyinstaller的exe
作者:
zbug
(瞌睡虫)
2021-08-24 19:16:52
新人報到...
系統環境 win10
python 3.9.6
最近一支程式用 pyinstall 打包成 exe 之後
程式內容包含 openfile 的讀寫
路徑也都給予絕對路徑的方式
該exe 新增至工作排程內,手動執行工作排程是正常可以讀寫檔案
該排程的觸發方式是系統重啟之後的「啟動時」
電腦重啟之後,有觸發成功,卻出現回傳錯誤碼 2147942401
Google查到的答案是路徑問題
請問我該怎解決這問題?謝謝
作者:
lycantrope
(阿寬)
2021-08-24 20:26:00
https://stackoverflow.com/questions/48343993
作者:
tzouandy2818
(Naked Bear)
2021-08-25 11:45:00
我用pyinstaller打包傳給別人 就算只是hello world也會被判定為病毒 也是用了查到的所有辦法都無解所以還是能用.py就用.py吧
作者:
pmove
(金疾檸檬)
2021-08-26 16:33:00
您確定是路徑問題?有沒有可能是權限問題?另外有裝Windows內建那套以外的防毒?對了,您路徑裡頭有中文?
作者:
lycantrope
(阿寬)
2021-08-27 17:14:00
這error是發生在登入前執行? 沒登入有設權限也沒用
作者: ncueBenson (nuceBenson29)
2021-08-27 18:29:00
路徑是絕對路徑吧 工作排程器的路徑在system32 如果用相對就會寫在那工作排程器的路徑不在喔喔漏看內文了 當我沒說話
作者:
pmove
(金疾檸檬)
2021-08-27 20:39:00
如果把py轉的exe, 在環境變數的path裡加上該路徑試試呢?
作者: lepenseur (lepenseur)
2021-09-04 06:08:00
路徑要用相對路徑去處理由於你執行的位置不同,當下的工作目錄(CWD)也不同,你寫的路徑會有問題試著用這個方式寫寫看project_root = Path(sys._MEIPASS) if getattr(sys, 'frozen', False) else Path(__file__).absolute().parents[0]在專案開始執行的 py 檔加入上面這一行,可以動態取得當前目錄的絕對路徑之後所有的路徑都以這個 py 檔的相對路徑去撰寫,就不會出錯像這樣 save_path = project_root / 'log' / 'log_20210904.txt'另外,如果你執行檔是安裝在 C:\Program Files (x86)或 C:\Program Files 目錄中的話,要記得設定權限才能寫入你的檔案被 Windows 當成病毒,大概是因為沒有做程式碼簽署,但簽署憑證是要花錢買的。如果是自己使用的話,可以把軟體加入防毒軟體的白名單就好。
繼續閱讀
[問題] thearding join不起作用
jasinco
apscheduler
d5123
[問題] webcam拍照出現橫條紋
pkst8293
[問題] 新手詢問關於裁切圖片並儲存
cosmicray
[問題] 資料重組
bigchien
[問題] plot xy 刻度用法
thefggeuck
[問題] spyder 調特殊圖解析度
TimYu930218
[問題] 如何得知psutil.popen用了多少個Cpu/Thread?
abstract1
[問題] 輸出到文件的格式能分別設定嗎
Lyumin
[資訊] PyConTW 2021 議程表出爐!一般票熱賣!
rex2000
Links
booklink
Contact Us: admin [ a t ] ucptt.com