包安装成功后的 ModuleNotFoundError
Posted
技术标签:
【中文标题】包安装成功后的 ModuleNotFoundError【英文标题】:ModuleNotFoundError after successful package installation 【发布时间】:2022-01-03 22:22:06 【问题描述】:我正在尝试安装和使用新的 Python 包,例如mysql
:
pip install mysql
Collecting mysqlNote: you may need to restart the kernel to use updated packages.
Using cached mysql-0.0.3-py3-none-any.whl (1.2 kB)
Collecting mysqlclient
Using cached mysqlclient-2.1.0-cp38-cp38-win_amd64.whl (180 kB)
Installing collected packages: mysqlclient, mysql
Successfully installed mysql-0.0.3 mysqlclient-2.1.0
但是,如果我运行代码,我会收到以下错误:
runfile('untitled1.py', wdir='')
Traceback (most recent call last):
File "untitled1.py", line 1, in <module>
import mysql.connector
ModuleNotFoundError: No module named 'mysql'
同样重启内核也没有解决问题:
Python 3.8.12 (default, Oct 12 2021, 03:01:40) [MSC v.1916 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 7.29.0 -- An enhanced Interactive Python.
Restarting kernel...
我在全新的 Anaconda 2.0.3 安装上使用 Spyder 5.0.0。
【问题讨论】:
【参考方案1】:首先,我不熟悉 Anaconda,尽管通过快速搜索,我认为这不会改变我的答案。
来自 mysql 的 PyPI 描述:
这个包是一个“虚拟包”,需要 MySQL-python (Python 2) 或 mysqlclient (Python 3) 进行安装。实际上,这意味着 ‘pip install mysql’ 将实际安装 MySQL-python。
因为您使用的是 Python 3,所以它安装的是 mysqlclient。 pip 输出Installing collected packages: mysqlclient, mysql
证实了这一点。从那个包的docs,你可以看到你必须导入MySQLdb
而不是mysql
。
【讨论】:
感谢您的回答!现在我觉得自己很愚蠢。至少问题似乎没有我想象的那么严重,也不应该适用于其他包。谢谢!以上是关于包安装成功后的 ModuleNotFoundError的主要内容,如果未能解决你的问题,请参考以下文章
linux编译安装完软件比如说tar.gz格式的,家目录下解压后的包可以删除吗?