Bash脚本找不到Python MySQL.Connector模块

时间:2019-11-15 21:12:16

标签: python mysql linux bash mysql-connector

我正在尝试使用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.pysudo chmod +x testSS.sh执行。

我尝试在程序的主要功能中导入mysql.connector。但是我遇到了同样的错误。在另一行。

我知道我已经安装了mysql.connector。我安装了以下两个模块:

pip3 install mysql-connector
sudo apt-get install python3-mysql.connector

仍然没有骰子。

1 个答案:

答案 0 :(得分:1)

谢谢那些在我的帖子中发表评论的人。 @ 404pio和@Poojan。我安装了python2.7和python 3,当我使用python3指定呼叫时,它起作用了!非常感谢你们两个!

解决了我的问题的代码段:

sudo python3 sendUpdateQuery.py "INSERT INTO <tablename> (col1, col2, col3) VALUES (v1, v2, v3);"