使用pythonMAC OS Mojave 10.14.6执行“导入mysql.connector”时出现问题

问题描述

所以.. 我正在尝试将现有的python代码片段连接到MysqL DB。有用于MAC的连接器/驱动器。 我目前在REPL上玩。

我运行命令“ import MysqL.connector” 我得到的答复是: 文件“ Library / Frameworks / Python.Framework / Versions / 3.7 / site-packages / MysqL / connector。 init .py”,第41行,在 导入dns.resolver moduleNotFoundError:没有名为“ dns”的模块

所以我用google搜索,瞧瞧,我手动安装了dnspython模块。首先使用pip,它安装了dnspython-1.16.0,带有关于python2.7如何达到其EOL(生命终止)的弃用说明。 当我在PyPI上看到一个新版本时,我将其卸载:dnspython = 2.0.0

在卸载后,我看到: 删除: / users / {username_personal} /Library/python/2.7/lib/python/site-packages/dns 和另一个文件..... / site-packages / dnspython-1.16.9.dis-info / (.....表示前面的路径与上面提到的第一个文件相同)* *

我的想法:也许该模块已安装到python 2.7中,但是当我运行import MysqL.connector命令时,它正在python3.7 /..../。中寻找它。并且dns的安装是在python 2.7(已预先安装在mac上)中完成的。 所以我用pip3安装了新版本的dnspython,因此它将安装在python3.7 /...

现在,根据更多的研究,我使用brew下载pyenv,以查看是否可以自己管理版本并提出解决方案。在阅读有关它的更多信息时,我认为$ PATH环境变量可能存在问题。我读到更多有关它的信息,最终使网上的大量数据不知所措,其中大部分我不理解是新事物。

我认为可行的唯一方法是向这里的所有好人问。

请帮助我解决问题所在以及如何解决

非常感谢您阅读这篇冗长的帖子/问题。

解决方法

使用import mysql.connector安装pip3dnspython会发生什么?您可以分享回溯消息吗?

如果模块有问题,而不是使用pyenv来切换Python版本,您是否可以尝试use venv to createvirtual environment,这样就可以“重新开始”了:为您的项目安装的模块,看看再次import mysql.connector时会发生什么?

python3 -m venv venv
source venv/bin/activate
pip install mysql-connector-python # installing a fresh copy of mysql connector to `venv/lib/python3.7/site-packages/`