导入mysql.connector Python

Cha*_* W. 36 python mysql

我有两个文件.第一个有连接和获取数据.我导入mysql.connector.该文件名为tasksSql.py

def get_users():
    import mysql.connector

    con = mysql.connector.connect(user='****', password='*****',
                                  host='127.0.0.1',
                                  database='tasks')
    c = con.cursor()

    users = []    
    c.execute("""SELECT * FROM task_user""")

    for row in c:
        user = {
            'id': row[0],
            'first': row[1],
            'last': row[2],
            'email': row[3],
            'password': row[4],
            'creation_date': row[5]
        }
        users.append(user)
    c.close()
    return users
Run Code Online (Sandbox Code Playgroud)

当我单独运行此文件时,它可以工作并返回数据.

我有另一个名为tasks.py的文件,我将要导入此文件,但是,这不起作用!当我导入文件时,它给我错误:

ImportError: No module named mysql.connector
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ris*_*shi 85

我正面临着类似的问题.我的env详细信息 - Python 2.7.11 pip 9.0.1 CentOS版本5.11(最终版)

python解释器出错 -

>>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector
>>>
Run Code Online (Sandbox Code Playgroud)

使用pip搜索可用模块 -

 $ pip search mysql-connector | grep --color mysql-connector-python



mysql-connector-python-rf (2.2.2)        - MySQL driver written in Python
mysql-connector-python (2.0.4)           - MySQL driver written in Python
Run Code Online (Sandbox Code Playgroud)

安装mysql-connector-python-rf -

$ pip install mysql-connector-python-rf
Run Code Online (Sandbox Code Playgroud)

校验

$ python
Python 2.7.11 (default, Apr 26 2016, 13:18:56)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>
Run Code Online (Sandbox Code Playgroud)

  • 为什么使用-rf版本而不是普通版本?有什么不同? (5认同)

Rob*_*ier 16

根据您的python版本以及如何安装它,可能没有安装mysql连接器,您可以使用pip安装它

  • 这样做了好几次了,一直说没有安装模块,不知道我做错了什么!它让我一遍又一遍地安装它,并且没有说它已经安装了,所以我是否遗漏了一些东西? (3认同)
  • 你在使用 python 3.x 吗?如果是,您是否使用 pip3.x 命令安装了它? (2认同)

小智 16

这在ubuntu 16.04中用于python 2.7:

sudo pip install mysql-connector
Run Code Online (Sandbox Code Playgroud)


Hui*_*eng 11

我使用以下命令在Mac中安装python mysql-connector.有用

pip install mysql-connector-python-rf

  • 我想你应该指向他们可能未安装该软件包OP开始你的答案; 然后提出你的解决方案,这可能需要一些调整,具体取决于具体情况. (2认同)

小智 11

我在文件夹中有一个名为 mysql.py 的文件。这就是它给出错误的原因,因为它试图在导入过程中调用它。

import mysql.connector
Run Code Online (Sandbox Code Playgroud)

我通过更改文件名解决了这个问题。

  • 天啊我也遇到了同样的问题,干得好 (2认同)
  • 同样在这里,非常感谢! (2认同)
  • 哇,我也有同样的问题。如果不是这个帖子的回复,我永远不会明白这一点! (2认同)

小智 9

python -m pip install mysql-connector


小智 8

如果您在 PYCHARM 上遇到此错误:ImportError:没有名为 mysql.connector 的模块

尝试以下解决方案:打开 Pycharm,转到 Pycharm 中的文件->设置->项目->Python 解释器,然后按 + 图标安装 mysql-connector。问题解决了!


Ati*_*sha 6

就我而言,我已经安装了该软件包

pip install mysql-connector
pip install mysql-connector-python
Run Code Online (Sandbox Code Playgroud)

它给了我同样的错误,所以我使用

pip uninstall mysql-connector
pip uninstall mysql-connector-python
Run Code Online (Sandbox Code Playgroud)

然后再次只安装第二个包

pip install mysql-connector-python
Run Code Online (Sandbox Code Playgroud)

这个解决方案对我有用。