[英]How to run a python code inside a bash script?
我能夠在文件夾中運行 python 代碼
python mycode.py
沒有問題(在 MacOS 上)。 但是,我希望能夠從其他任何地方運行此代碼。 所以我定義了一個小的 bash ( run_my_code
) 腳本如下
cd /path/to/my/folder
echo $PYTHONPATH
echo $PATH
pip list
pwd
python mycode.py
並將其運行為
run_my_code
這會導致ModuleNotFoundError
。 我檢查並確保PYTHONPATH
和PATH
在兩種環境中都相同。 甚至pip list
列出相同的模塊列表,甚至缺少一個!
如何修復此模塊/路徑錯誤?
我已經回答了我自己的問題,但這似乎只是一個糟糕的解決方法。 必須有更好的方法來解決這個問題!
我找到了一個解決方案,但不確定它是否是一個好的解決方案:
你添加行
print(sys.path)
當您將代碼作為python mycode.py
運行時,打印出該環境中使用的所有路徑。
您更改代碼以在代碼的最開頭擴展路徑,即像這樣
import sys sys.path.extend(<here the output from step 1>) import <all the other imports>
問題解決了。
但是有更好的方法嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.