Python:ModuleNotFoundError:没有模块名称“mysql”

2024-09-29 00:20:01 发布

您现在位置:Python中文网/ 问答频道 /正文

正在尝试将python连接到MySQL。在这个问题上似乎有很多,但对我来说似乎什么都不起作用。如果在Python提示下,我可以逐行输入脚本并获得成功

>>> import mysql.connector as m
>>> m.__version__
'8.0.22'

但是当我在python脚本(名为dbsql.py)中运行上述两行时,我得到了错误:

File "C:\Users\gbran\PythonCode\dbsql.py", line 1, in <module>
  import mysql.connector as m

ModuleNotFoundError: No mdoule named 'mysql'

我是Python新手,但不知道这是否是Widnows中的路径问题。Python提示符中是否有方法查看文件mysql.connector从何处导入,以确保脚本的路径可用。还是我在这里遗漏了什么

谢谢你的指导和帮助


Tags: pyimport路径脚本connectorversionas错误
2条回答

使用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连接器

$ 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
>>>

对于python3和更高版本,请使用下一个命令:$ pip3 install mysql-connector-python-rf

您可以使用sys模块找出导入mysql的路径

在这个示例中,我可以看到我的操作系统模块是从/usr/lib/python3.8/OS.py导入的

>>> import sys
>>> import os
>>> sys.modules['os']
<module 'os' from '/usr/lib/python3.8/os.py'>
>>> 

然后将该路径添加到PYTHONPATH,以便python可以从那里导入模块

请参见下面的另一个示例:

user@user-Inspiron:~$ python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sample_module
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sample_module'
>>> 
user@user-Inspiron:~$ echo $PYTHONPATH

user@user-Inspiron:~$ export PYTHONPATH=/tmp/
user@user-Inspiron:~$ echo $PYTHONPATH
/tmp/

user@user-Inspiron:~$ python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sample_module
>>> sample_module.does_it_work
'It Works!'
>>> 

相关问题 更多 >