簡體   English   中英

如何在 bash 腳本中運行 python 代碼?

[英]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 我檢查並確保PYTHONPATHPATH在兩種環境中都相同。 甚至pip list列出相同的模塊列表,甚至缺少一個!

如何修復此模塊/路徑錯誤?

我已經回答了我自己的問題,但這似乎只是一個糟糕的解決方法。 必須有更好的方法來解決這個問題!

我找到了一個解決方案,但不確定它是否是一個好的解決方案:

  1. 你添加行

    print(sys.path)

    當您將代碼作為python mycode.py運行時,打印出該環境中使用的所有路徑。

  2. 您更改代碼以在代碼的最開頭擴展路徑,即像這樣

    import sys sys.path.extend(<here the output from step 1>) import <all the other imports>
  3. 問題解決了。

但是有更好的方法嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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