我正在尝试使用raspbian在raspberrypi0上从Linux bash脚本运行python脚本。
当我单独运行python脚本时,它可以正常工作。通过bash脚本运行脚本时,出现以下错误:
Traceback (most recent call list):
File "sendUpdateQuery.py", line 3, in <module>
import mysql.connector
ImportError: No module named mysql.connector
当我这样单独运行python脚本时:./sendUpdateQuery.py
它会按预期运行并运行。但是,一旦我尝试从以下bash脚本运行相同的python脚本,就会收到上述错误。
testSS.sh
#! /bin/bash
sudo python sendUpdateQuery.py "INSERT INTO <tablename> (col1, col2, col3) VALUES (v1, v2, v3);"
sendUpdateQuery.py:
#! /usr/bin/env python3
import mysql.connector
import smtplib
import sys
def main():
# import mysql.connector
cnx = mysql.connector.connect(user='user', password='<password>', host='<ip-address>', database='<database>
try:
cursor = cnx.cursor()
cursor.execute(sys.argv[1])
finally:
cnx.commit()
cnx.close()
if __name__ == "__main__":
main()
我确保两个文件都可以使用sudo chmod +x sendUpdateQuery.py
和sudo chmod +x testSS.sh
执行。
我尝试在程序的主要功能中导入mysql.connector。但是我遇到了同样的错误。在另一行。
我知道我已经安装了mysql.connector。我安装了以下两个模块:
pip3 install mysql-connector
sudo apt-get install python3-mysql.connector
仍然没有骰子。
答案 0 :(得分:1)
谢谢那些在我的帖子中发表评论的人。 @ 404pio和@Poojan。我安装了python2.7和python 3,当我使用python3指定呼叫时,它起作用了!非常感谢你们两个!
解决了我的问题的代码段:
sudo python3 sendUpdateQuery.py "INSERT INTO <tablename> (col1, col2, col3) VALUES (v1, v2, v3);"