[英]Convert python script which runs a bash script to executable file with Pyinstaller
我想使用 Pyinstaller 將運行本地 bash 腳本的 python 腳本轉換為可執行文件。
我的項目結構如下:
Project/
|-- bash_script/
| |-- script.sh
|-- main.py
main.py 包含一行在本地運行腳本:
output = subprocess.check_output('./bash_script/script.sh', shell=True).decode()
現在,在將 main.py 轉換為 linux 中的可執行文件后,如果我在與 main.py 所在的不同位置運行它,它將找不到腳本。
我想將 shell 腳本添加到 python 可執行文件中,這樣它就不會依賴於本地腳本,但是,我只需要可執行文件,它最終會運行。
我嘗試使用 --add-data 標志來 pyinstaller 轉換推薦,但它沒有用。
謝謝!
注意:我正在使用以下命令:
pyinstaller --add-data "./bash_script/script.sh:." --onefile main.py
在 dist 目錄中運行后出現錯誤:
/bin/sh: 1: ./bash_script/script.sh: not found
在你的main.py
:
import subprocess
import os
script = os.path.join(os.path.dirname(__file__),'bash_script','script.sh')
output = subprocess.check_output(script, shell=True).decode()
print(output)
然后運行:
pyinstaller -F --add-data ./bash_script/script.sh:./bash_script main.py
還有你叔叔鮑勃!
ps -F
與--onefile
相同
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.