我有两个文件。第一个有连接和获取数据。我导入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
当我单独运行此文件时,它可以正常工作并返回数据。
我有另一个名为tasks.py的文件,我将要导入此文件,但是,这不起作用!当我导入文件时,它给出了错误:
ImportError: No module named mysql.connector
我做错了什么?
答案 0 :(得分:75)
我遇到了类似的问题。我的环境细节 - Python 2.7.11 点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
>>>
使用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
安装mysql-connector-python-rf -
$ pip install mysql-connector-python-rf
验证
$ 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
>>>
答案 1 :(得分:13)
这适用于ubuntu 16.04 for python 2.7:
sudo pip install mysql-connector
答案 2 :(得分:11)
我使用以下命令在Mac中安装python mysql-connector。它的工作原理
pip install mysql-connector-python-rf
答案 3 :(得分:8)
我在文件夹中有一个名为 mysql.py 的文件。这就是它给出错误的原因,因为它试图在导入过程中调用它。
import mysql.connector
我通过更改文件名解决了问题。
答案 4 :(得分:7)
根据您的python版本及其安装方式,可能未安装mysql连接器,您可以使用pip安装它
答案 5 :(得分:7)
python -m pip安装mysql-connector
答案 6 :(得分:1)
我使用Python 3.4 for Windows并从http://dev.mysql.com/downloads/connector/python/
安装了mysql库答案 7 :(得分:1)
就我而言,在最近(Mac OS High Sierra)升级和随后的brew升级后,我开始看到上述错误。我按照上面的说明,但仍然得到相同的错误消息。然后我意识到我必须使用python2指向brew安装的python,而不是os x安装的。
答案 8 :(得分:1)
就我而言,我已经安装了软件包
pip install mysql-connector
pip install mysql-connector-python
它给了我同样的错误,所以,我使用卸载了这两个软件包
pip uninstall mysql-connector
pip uninstall mysql-connector-python
然后仅再次安装第二个软件包
pip install mysql-connector-python
此解决方案对我有用。
答案 9 :(得分:0)
对我有用的是直接下载.deb
文件并安装它(dpkg -i mysql-connector-python_2.1.7-1ubuntu16.04_all.deb
)。 Python下载位于here(您需要先创建一个免费的MySQL登录名才能下载)。请务必选择正确的版本,即(python_2.1.7
与python-py3_2.1.7
)。只有“架构独立”版本适合我。
答案 10 :(得分:0)
我在WAMP上面临着同样的问题。找到pip命令可用的连接器。如果正确设置了Python ENV变量,则可以从任何提示运行此命令。
pip search mysql-connector
mysql-connector (2.2.9) - MySQL driver written in Python
bottle-mysql-connector (0.0.4) - MySQL integration for Bottle.
mysql-connector-python (8.0.15) - MySQL driver written in Python
mysql-connector-repackaged (0.3.1) - MySQL driver written in Python
mysql-connector-async-dd (2.0.2) - mysql async connection
运行以下命令以安装mysql-connector
C:\Users\Admin>pip install mysql-connector
验证安装
C:\Users\Admin>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit
(AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>
此解决方案对我有用。
答案 11 :(得分:0)
如果您在PYCHARM上遇到此错误:ImportError:没有名为mysql.connector的模块
尝试以下解决方案: 打开Pycharm,转到Pycharm内的File-> Settings-> Project-> Python Interpreter,然后按+图标安装mysql-connector。 问题解决了!
答案 12 :(得分:0)
我的MySQL安装有问题,出现此错误:
pip install mysql-connector-python
但是我用以下方法解决了它:
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at com.sun.javaws.security.JavaWebStartSecurity.checkPermission(Unknown Source)
at java.lang.ClassLoader.checkClassLoaderPermission(Unknown Source)
at java.lang.ClassLoader.getParent(Unknown Source)
at org.apache.commons.logging.impl.LogFactoryImpl.getLowestClassLoader(LogFactoryImpl.java:1327)
at org.apache.commons.logging.impl.LogFactoryImpl.getBaseClassLoader(LogFactoryImpl.java:1247)
at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1048)
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
答案 13 :(得分:0)
我也有类似的问题,解决办法是在实际脚本环境中安装mysql-connector-python。 检查您的脚本是否在第一行应使用哪个解释器。它会像
#!/usr/bin/python3
import mysql.connector
在这种情况下,将mysql-connector-python安装到python解释器的环境中。您应该使用 pip 或系统包管理器。
pip3 install mysql-connector-python
或者类似的东西
dnf install mysql-connector-python3.noarch
然后通过运行一个合适的 python 解释器来测试它。