我有一個使用inotify-tools
監視目錄的腳本。當新文件被添加到目錄時,腳本調用一個python程序並將路徑和填充名稱作爲參數傳遞。從bash腳本執行Python程序時出現ModuleNotFoundError
這一切工作正常,除了我得到一個ModuleNotFoundError
...有問題的模塊是boto3(對於AWS S3)。
python腳本在Pycharms中正常工作,所以我真的不知道是什麼導致了錯誤。
監控腳本:
source=$1
pythonscriptlocation=$2
inotifywait -m $source -e create -e moved_to |
while read path action file; do
python $pythonscriptlocation $path $file
done
的Python腳本示例:
import argparse
import boto3
parser = argparse.ArgumentParser();
parser.add_argument("source_path");
parser.add_argument("filename");
args = parser.parse_args();
print(args.source_path);
print(args.filename);
更新 - 解決方案
原來ANACONDA
又增加了一個環境變量來我.bashrc
底部文件...因此,它搞砸了我的PATH
。刪除該行,然後再出現1個問題:在監視器腳本中,我打電話給python
,但應該叫python3
。
@Inian如你所願。完成;) – pookie
只是想看看''bash'腳本方面的東西看起來不錯,你是否嘗試打印值以查看它們是否正常,還要雙引號「python」$ pythonscriptlocation「」$ path「 「$ file」' – Inian
@Inian謝謝,但我已經設法弄清楚問題是什麼...... – pookie