Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从bash脚本运行Python会导致自定义模块的导入错误_Python_Linux_Bash_Python 3.x_Importerror - Fatal编程技术网

从bash脚本运行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

我正在运行一个python脚本,该脚本导入自定义函数。我的脚本名为
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"