美文网首页
ModuleNotFoundError: No module n

ModuleNotFoundError: No module n

作者: 花括弧 | 来源:发表于2019-07-20 09:55 被阅读0次

pycharm -> Tools -> Run manage.py Task 时,出现ModuleNotFoundError: No module named 'MySQLdb', 出现该错误的原因是:mysql数据库pycharm之间缺少了Python interface to MySQL, 也就是缺少了MySQL driver

mysql-python only supports Python 2.x, while Python 3 should use mysql-connector-python

但是安装了mysql-connector-python之后,仍是报错:No module named 'MySQLdb'。究其原因,大概是pycharm项目使用的虚拟环境中并没有安装mySQL和mysqlclient
$brew install mySQL
$pip install mysqlclient

于是在终端中执行:
$brew install mySQL
$pip install mysqlclient

在终端中进入python3环境,import MySQLdb也可以成功导入该模块的。但是在Pycharm中Run manage.py Task时,还是出现ModuleNotFoundError: No module named 'MySQLdb'错误。

因此需要在Pycharm -> Preferences -> Project mooc -> Project Interpreter -> '+'添加package: mysql(会顺带安装mysqlclient, 没有安装的话,自己再添加mysqlclient)
执行过该操作后Run manage.py Task就不会报错了。

由此可见,Pycharm中需要导入packages时,需要在Pycharm中进行Pycharm -> Preferences -> Project mooc -> Project Interpreter -> '+'添加package。而不要使用命令行,因为Pycharm使用的是自己的虚拟环境。

顺带提下,mac下安装mysql不要使用.dmg安装包进行安装,而要使用命令行安装:

$ brew install mySQL
$ pip install mysqlclient

后记,Pycharm中去掉mysql模块,也是可行的。原因大概是通过命令行$ brew install mySQL安装的mysql也是可以被Pycharm的虚拟环境 访问。
通过命令行$ pip install mysqlclient安装的mysqlclient,被安装到了~/.pyenv/versions/3.6.9/lib/python3.6/site-packages/目录, 而Pycharm构建的虚拟环境是在自己项目目录下的venv目录,通过Pycharm导入的packages也是在该目录结构下。它们各玩各的,互不影响。因此,Pycharm中也要导入mysqlclient package,才能访问mysql

sql基础语句:https://www.jianshu.com/p/07acd84dfcdd

转载请注明出处

相关文章

网友评论

      本文标题:ModuleNotFoundError: No module n

      本文链接:https://www.haomeiwen.com/subject/iodylctx.html