gpt4 book ai didi

python - 从 bash 脚本运行 Python 导致自定义模块导入错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:17 40 4
gpt4 key购买 nike

我正在运行一个导入自定义函数的 python 脚本。我的脚本名为 update_wx.py,位于 weather 目录中。当我从我的 linux 命令行以 python weather/update_wx.py 运行它时,它运行良好。但是,当我将它作为 bash 脚本的一部分运行时,我收到以下 python 错误:

ModuleNotFoundError: No module named 'weather'

导致此错误的 update_wx.py 中的行是

from weather.nasa.nasa import import_wx_data

对于上下文,nasa.pynasa 目录中的一个脚本,该目录位于 weather 目录中。正如我所说,这在从命令行运行时有效。我检查了所有文件和目录的文件权限,更改了 update_wx.py 脚本中的工作目录,并在我的 bash 脚本中编辑了 python 路径,但都无济于事。

如何在通过 bash 运行脚本时导入此 python 函数?

感谢您的帮助。

最佳答案

假设你的天气模块存储在解释器之外,我认为问题是解释器不知道模块,它只知道正在执行的 .py 文件,你需要相对地让解释器知道如何使用“...”(例如

)导航到父级
from .weather.nasa.nasa import weather_wx_data

参见 Relative imports for the billionth time

或者你安装了多个解释器,你需要用像这样的绝对路径调用解释器

/root/python27/python.exe "/c/weather/update_wx.py"

关于python - 从 bash 脚本运行 Python 导致自定义模块导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44190024/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com