当python脚本从终端运行时,python模块是正常的,但在bash中调用同一脚本时,却找不到它剧本。为什么?

2024-06-07 23:06:20 发布

您现在位置:Python中文网/ 问答频道 /正文

(这里的新手,我找不到类似的东西)所以,我有一个python脚本,它可以向一些收件人发送带有附件的电子邮件,当我直接从终端运行它时,它可以正常工作。但是当我在bash脚本中调用这个脚本时,我得到一个错误,即找不到下面的模块。为什么?(在Mac上,如果有必要的话)

ModuleNotFoundError: No module named 'email.MIMEMultipart'

Tags: 模块no脚本bash终端附件电子邮件email
1条回答
网友
1楼 · 发布于 2024-06-07 23:06:20

所以在我的mac上我有两个版本的python:

Python 3.6存在于:

/Users/name/anaconda/bin/python

虽然Python2.7存在于:

/usr/bin/python

我的Python_脚本.py,在终端中单独调用时运行良好,调用Python 2.7,具有以下shebang/firstline:

#!/usr/bin/python

在我的bash脚本中,调用python的行_脚本.py是以下内容:

python /directory/directory/python_script.py

代码在这个实现中不起作用,因为当您在终端中键入python时,它会启动python3.6,而不是python2.7_脚本.py使用的是(我错误地认为默认系统Python将是mac附带的python2.7)。解决方案(根据上面的堆栈建议)是将我的python放在cd目录中_脚本.py然后从那里输入:

./python_script.py

希望有一天这能帮助别人。你知道吗


(我本应该删除这篇文章的,因为我总是因为某些原因而被否决,但我会把它留给像我这样的新手)

相关问题 更多 >

    热门问题