我正在运行一个导入自定义函数的python脚本。我的脚本名为update_wx.py
,位于weather
目录中。当我从我的linux命令行运行这个python weather/update_wx.py
时,它运行正常。但是,当我将其作为bash脚本的一部分运行时,我收到以下python错误:
ModuleNotFoundError:没有名为' weather'
的模块
导致此错误的update_wx.py中的行是
from weather.nasa.nasa import import_wx_data
对于上下文,nasa.py
是nasa
目录中的一个脚本,位于weather
目录中。正如我所说,从命令行运行时这是有效的。我检查了所有文件和目录的文件权限,更改了update_wx.py
脚本中的工作目录,并在我的bash脚本中编辑了python路径,但都无济于事。
如何在通过bash运行脚本时导入此python函数?
感谢您的帮助。
答案 0 :(得分:0)
假设你的天气模块存储在解释器之外,我认为问题是解释器不知道模块,它只知道正在执行的.py文件,你需要相对让解释器知道如何使用"导航到父母。 ... "像
from .weather.nasa.nasa import weather_wx_data
请参阅Relative imports for the billionth time
或者你安装了多个解释器,你需要使用像
这样的绝对路径来调用解释器/root/python27/python.exe "/c/weather/update_wx.py"