从bash脚本运行Python会导致自定义模块的导入错误
我正在运行一个python脚本,该脚本导入自定义函数。我的脚本名为从bash脚本运行Python会导致自定义模块的导入错误,python,linux,bash,python-3.x,importerror,Python,Linux,Bash,Python 3.x,Importerror,我正在运行一个python脚本,该脚本导入自定义函数。我的脚本名为update_wx.py,位于weather目录中。当我从linux命令行以python weather/update_wx.py的形式运行它时,它运行得很好。但是,当我将其作为bash脚本的一部分运行时,会收到以下python错误: ModuleNotFoundError:没有名为“weather”的模块 导致此错误的update_wx.py中的行是 从weather.nasa.nasa导入数据 在上下文中,nasa.py是na
update_wx.py
,位于weather
目录中。当我从linux命令行以python weather/update_wx.py的形式运行它时,它运行得很好。但是,当我将其作为bash脚本的一部分运行时,会收到以下python错误:
ModuleNotFoundError:没有名为“weather”的模块
导致此错误的update_wx.py中的行是
从weather.nasa.nasa导入数据
在上下文中,nasa.py
是nasa
目录中的脚本,该目录位于weather
目录中。正如我所说,当从命令行运行时,这是有效的。我已经检查了所有文件和目录的文件权限,在update_wx.py
脚本中更改了工作目录,并在我的bash脚本中编辑了python路径,但都没有用
在通过bash运行脚本时,如何导入此python函数
谢谢您的帮助。假设您的天气模块存储在解释器之外,我认为问题在于解释器不知道该模块,它只知道正在执行的.py文件,您需要相对地让解释器知道如何使用“…”如 看 或者您安装了多个解释程序,并且需要使用如下绝对路径调用解释程序
/root/python27/python.exe "/c/weather/update_wx.py"
每个文件夹中是否都有一个表示模块的uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@TonyDasilva的副本一个好问题-所有目录都有一个init.py文件。回想一下,脚本是从命令行使用python运行的,而不是从bash脚本运行的。是否安装了多个版本的python?
/root/python27/python.exe "/c/weather/update_wx.py"