Ubuntu16.04已装PyMySQL仍报ModuleNotFoundError,求解决方案
解决PyMySQL安装后仍提示ModuleNotFoundError的问题
这是Ubuntu环境里很常见的pip与Python版本不匹配问题——你用pip install装的包可能跑到了Python 2的环境里,但运行脚本时用的是Python 3(或者反过来),导致系统找不到对应的模块。
先梳理下你的操作和报错情况:
安装日志:
debarati@debarati-hp:~$ pip install PyMySQL Collecting PyMySQL Downloading PyMySQL-0.8.0-py2.py3-none-any.whl (83kB) 100% |████████████████████████████████| 92kB 159kB/s Installing collected packages: PyMySQL Successfully installed PyMySQL-0.8.0
运行错误:
debarati@debarati-hp:~$ python view_rows.py Traceback (most recent call ... ModuleNotFoundError: No module named 'PyMySQL'
下面是具体的解决步骤:
第一步:确认Python和pip的版本对应关系
在终端分别运行这两个命令,看清楚版本匹配情况:python --version pip --versionUbuntu 16.04默认
python指向Python 2,python3指向Python 3,对应的包管理工具是pip(对应Python2)和pip3(对应Python3)。如果你的pip绑定的是Python2,但脚本是基于Python3写的,就会出现这个报错。第二步:用对应版本的pip重新安装PyMySQL
如果你的脚本是Python3环境的,直接运行:pip3 install PyMySQL这样包就会被安装到Python3的site-packages目录下。
第三步:用对应版本的Python运行脚本
安装完成后,换用python3来启动你的脚本:python3 view_rows.py验证安装是否成功
可以在终端直接测试:python3 -c "import PyMySQL; print(PyMySQL.__version__)"如果能输出
0.8.0,说明安装没问题,再运行脚本就不会报错了。
内容的提问来源于stack exchange,提问作者Deba
相关产品推荐
相关产品推荐

