我正在運行一個導入自定義函數的python腳本。我的腳本名爲update_wx.py
,位於weather
目錄中。當我從我的linux命令行運行這個作爲python weather/update_wx.py
時,它運行良好。然而,當我運行它作爲一個bash腳本的一部分,我收到以下錯誤蟒:從bash腳本運行Python導致自定義模塊導入錯誤
ModuleNotFoundError: No module named 'weather'
內update_wx.py這是造成此錯誤的行是
from weather.nasa.nasa import import_wx_data
爲背景,nasa.py
是nasa
目錄中的一個腳本,位於weather
目錄中。正如我所說的,這在從命令行運行時起作用。我檢查了所有文件和目錄的文件權限,更改了update_wx.py
腳本中的工作目錄,並在我的bash腳本中編輯了python路徑,但都無濟於事。
如何在通過bash運行腳本時導入此python函數?
感謝您的幫助。
您是否在代表模塊的每個文件夾中都有____init____.py文件? – BrokenRobot
如果你的'nasa.py'腳本與你的'update_wx.py'腳本不在同一個文件夾中,那麼python找不到腳本。根據目錄樹的組織方式,您有幾個選項。請參閱[this](https://stackoverflow.com/questions/714063/importing-modules-from-parent-folder)關於如何正確導入的問題。 –
[從父文件夾導入模塊]的可能重複(https://stackoverflow.com/questions/714063/importing-modules-from-parent-folder) –