【问题标题】:Bash script can't find Python MySQL.Connector ModuleBash 脚本找不到 Python MySQL.Connector 模块
【发布时间】:2019-11-15 21:12:16
【问题描述】:

我正在尝试使用 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 执行。

我尝试在程序的 main 函数中导入 mysql.connector。但我得到了同样的错误。只是在不同的线路上。

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

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

还是没有骰子。

【问题讨论】:

标签: python mysql linux bash mysql-connector


【解决方案1】:

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

解决我的问题的代码 sn-p:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多