[英]Is there a way to run a python script that is inside a zip file from bash?
[英]Run python script inside bash file in Windows
我的任務是運行由其他人開發的腳本。 這很簡單,但它是一個 bash 腳本,我幾乎從未接觸過 Linux,所以我不確定如何進行。 我能夠安裝 WLS,所以我可以在bash
上運行 bash,但現在我必須在 ZD5164BFC6B7EE9A3B755DDZ 腳本中運行特定的 python 腳本。 腳本是這樣的:
#!/bin/bash
BASE_DIR=dir
find $BASE_DIR -type f | grep '\.pdf' | while read pdf_filename; do
filebase=`echo $pdf_filename | cut -d '.' -f 1`
txt_filename="$filebase.txt"
echo "Processing $pdf_filename..."
pdf2txt.py $pdf_filename > $txt_filename
echo "Done!"
done
它應該運行pdf2txt.py
腳本,但我收到此錯誤:
convert_all.sh: line 8: pdf2txt.py: command not found
所以,我不確定如何將 bash 連接到我的 Python 安裝,我猜它找不到它。 理想情況下,我希望將其鏈接到該項目的虛擬環境。 關於如何進行的任何想法?
編輯:
根據我對@DV82XL 的回復,這是我當前的錯誤:
/mnt/c/Users/jeco_/Desktop/Otros repositorios/sesgo_medios/Code/hello.py: line 1: $'\r': command not found
/mnt/c/Users/jeco_/Desktop/Otros repositorios/sesgo_medios/Code/hello.py: line 2: syntax error near unexpected token `"hello world"'
/mnt/c/Users/jeco_/Desktop/Otros repositorios/sesgo_medios/Code/hello.py: line 2: `print("hello world")'
能否將 bash 腳本轉換為 Python? 這樣,您可以在沒有 WSL 的情況下輕松地在 Windows 或 Linux 中運行。
如果必須在 WSL 中運行 bash 腳本,請確保在 WSL 中安裝了 Python:
type -a python
或type -a python3
。 這將為您提供解釋器路徑。如果沒有出現,則需要在 WSL 上安裝 Python:
sudo apt update && upgrade
sudo apt install python3 python3-pip ipython3
然后做這些事情:
echo $PATH
確保 Python 解釋器位於 PATH 環境變量中。 如果它不存在,請通過鍵入export PATH="$PATH:/usr/bin/python3"
添加它或將其添加到 ~/.profile。 在 Linux 上,通常默認包含它。python --version
或python3 --version
以獲取版本並確保 python 路徑設置正確。#!/path/to/interpreter
#!/usr/bin/python3
#./usr/bin/python2.7
chmod +x pdf2txt.py
現在您應該能夠直接運行pdf2txt.py
而不是python pdf2txt.py
。
提示:在 WSL 中,如果需要,可以在/mnt/c/Users/<user>/path/to/file
訪問 Windows 文件。
如果這不起作用,請告訴我們您正在運行哪個 Linux 發行版/版本以及這些腳本需要什么版本的 Python。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.