簡體   English   中英

使用Pyinstaller將運行bash腳本的python腳本轉換為可執行文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM