ModuleNotFoundError: No module named ‘pymysql.util’

先说现象,有一个项目,在自己的本地是没问题,到了线上就报错了

deploy@autotest01-test-ty-qq-bj:/czb/interface_server/hua$ cat log.log
Traceback (most recent call last):File "/czb/interface_server/hua/hua_start.py", line 19, in <module>from routers import database_router, env_router, channel_router, case_group_router, case_routerFile "/czb/interface_server/hua/routers/__init__.py", line 10, in <module>from routers.database_router import database_routerFile "/czb/interface_server/hua/routers/database_router.py", line 17, in <module>from db_moudle.database_moudle.database import get_database, get_database_s, delete_database_yes, add_database, \File "/czb/interface_server/hua/db_moudle/database_moudle/database.py", line 39, in <module>database_cls = DatabaseManage().database_cls()File "/czb/interface_server/hua/db_moudle/database_moudle/database.py", line 25, in __init__self.database = Database(DATABASE_URL)File "/home/deploy/.local/lib/python3.8/site-packages/databases/core.py", line 66, in __init__backend_cls = import_from_string(backend_str)File "/home/deploy/.local/lib/python3.8/site-packages/databases/importer.py", line 21, in import_from_stringraise exc from NoneFile "/home/deploy/.local/lib/python3.8/site-packages/databases/importer.py", line 18, in import_from_stringmodule = importlib.import_module(module_str)File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "/home/deploy/.local/lib/python3.8/site-packages/databases/backends/mysql.py", line 6, in <module>import aiomysqlFile "/home/deploy/.local/lib/python3.8/site-packages/aiomysql/__init__.py", line 32, in <module>from .connection import Connection, connectFile "/home/deploy/.local/lib/python3.8/site-packages/aiomysql/connection.py", line 19, in <module>from pymysql.util import byte2int, int2byte
ModuleNotFoundError: No module named 'pymysql.util'

很费解,网上也没找到答案,只能不断尝试,最后解决了,流程是这样的

一、找到最后的报错信息

  File "/home/deploy/.local/lib/python3.8/site-packages/aiomysql/connection.py", line 19, in <module>from pymysql.util import byte2int, int2byte
ModuleNotFoundError: No module named 'pymysql.util'

意思就是在引入pymysql.util的时候报错了,说没有这个模块,那这个pymysql.util的绝对路径就是
/home/deploy/.local/lib/python3.8/site-packages/aiomysql/connection.py
去掉aiomysql/connection.py
加上pymysql.util
再去掉util,因为util是一个文件,并不是一个目录
完整的路径就是
/home/deploy/.local/lib/python3.8/site-packages/pymysql

二、确认报错信息是否准确

deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages/pymysql$ pwd
/home/deploy/.local/lib/python3.8/site-packages/pymysql
deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages/pymysql$ ll
total 156
drwxrwxr-x   4 deploy deploy  4096 Feb 14 15:51 ./
drwx------ 202 deploy deploy 12288 Feb 14 15:51 ../
-rw-rw-r--   1 deploy deploy  7399 Feb 14 15:51 _auth.py
-rw-rw-r--   1 deploy deploy 10293 Feb 14 15:51 charset.py
-rw-rw-r--   1 deploy deploy 51251 Feb 14 15:51 connections.py
drwxrwxr-x   3 deploy deploy  4096 Feb 14 15:51 constants/
-rw-rw-r--   1 deploy deploy  9430 Feb 14 15:51 converters.py
-rw-rw-r--   1 deploy deploy 15366 Feb 14 15:51 cursors.py
-rw-rw-r--   1 deploy deploy  3773 Feb 14 15:51 err.py
-rw-rw-r--   1 deploy deploy  4391 Feb 14 15:51 __init__.py
-rw-rw-r--   1 deploy deploy   573 Feb 14 15:51 optionfile.py
-rw-rw-r--   1 deploy deploy 11859 Feb 14 15:51 protocol.py
drwxrwxr-x   2 deploy deploy  4096 Feb 14 15:51 __pycache__/
-rw-rw-r--   1 deploy deploy   360 Feb 14 15:51 times.py

发现,嗯,确实没有util文件,那这个时候我第一个想到的是重新安装

deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages/pymysql$ pip3 install PyMySQL
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: PyMySQL in /home/deploy/.local/lib/python3.8/site-packages (1.0.2)
WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages/pymysql$ ls
_auth.py    connections.py  converters.py  err.py       optionfile.py  __pycache__
charset.py  constants       cursors.py     __init__.py  protocol.py    times.py

很奇怪,还是没有,这个时候想起会不会是版本的问题,找到了项目的requeirements.txt文件

loguru~=0.5.3
PyYAML~=6.0
SQLAlchemy~=1.4.31
databases~=0.5.5
PyMySQL==0.9.3
pydantic~=1.9.0
fastapi~=0.72.0
uvicorn~=0.17.0
ujson~=5.1.0

既然项目在本地是可以,说明本地的版本是对的,那就直接安装对应的版本即可

deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages/pymysql$ pip3 install PyMySQL==0.9.3
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting PyMySQL==0.9.3Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)
Installing collected packages: PyMySQLAttempting uninstall: PyMySQLFound existing installation: PyMySQL 1.0.2Uninstalling PyMySQL-1.0.2:Successfully uninstalled PyMySQL-1.0.2
Successfully installed PyMySQL-0.9.3
WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.

重新进入pymysql的目录(重新进入,不要在原来的目录ls,因为对应的包已经被卸载重新安装了),发现这个文件已经有了

deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages$ cd pymysql/
deploy@autotest01-test-ty-qq-bj:~/.local/lib/python3.8/site-packages/pymysql$ ls
_auth.py    _compat.py      constants      cursors.py  __init__.py    protocol.py  _socketio.py  util.py
charset.py  connections.py  converters.py  err.py      optionfile.py  __pycache__  times.py

再次重新启动项目,success,完美

ModuleNotFoundError: No module named ‘pymysql.util‘相关推荐

  1. 解决sqlalchemy连接mysql报错ModuleNotFoundError: No module named ‘pymysql‘

    完整报错是: Traceback (most recent call last):File "<frozen importlib._bootstrap>", line ...

  2. python包发布到pypi或私有仓库 实践及踩坑 ModuleNotFoundError: No module named 'keyring.util.escape' 等

    0.写在开头: 封装我们自己写好的python包然后分享到网络提供给大家使用, 这本来是一个基本操作. 但是之前个人没有主动上传过自己封装的库到pypi, 正好趁这次自己封装简单包提供给大家用的机会, ...

  3. Python: pymysql报错ModuleNotFoundError: No module named ‘pymysql‘等没有*模块问题

    背景很简单,执行的python文件中有导入pymysql 问题 在vscode中执行文件报错: ModuleNotFoundError: No module named 'pymysql' Modul ...

  4. ModuleNotFoundError: No module named ‘distutils.util‘

    Ubuntu 16.04 上使用 ppa 源安装了 python3.8.之后安装 pip 时 python3.8 get-pip.py 出现这个问题.解决办法: sudo apt-get instal ...

  5. “No module named ‘vtk.util‘;‘vtk‘ is not a package”问题完美解决

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 一.问题 二.根本原因 三.解决办法 一.问题 目前,尝试着通过python读取医学三维图像nii格式,运行代码, ...

  6. pyhton 安装pip 以及 numpy (解决python:ModuleNotFoundError:No module named numpy 等类似缺包问题

    https://blog.csdn.net/phs999/article/details/79218869 pyhton 安装pip 以及 numpy (解决python:ModuleNotFound ...

  7. standard python venv module_python 在venv中报错 ModuleNotFoundError: No module named 'MySQLdb'

    环境 Win7,Python 3.6.5, 情况 脚本中有import MySQLdb 直接执行可以执行,但是在创建的venv 中执行,执行失败提示ModuleNotFoundError: No mo ...

  8. 解决ModuleNotFoundError: No module named ‘celery.five‘的问题

    环境: celery5.0.0rc3 vine 1.3.0 问题描述: 执行命令 E:\HttpRunnerManager>python manage.py celery -A HttpRunn ...

  9. Django连接Mysql报错:ModuleNotFoundError: No module named 'MySQLdb'

    Django连接Mysql报错 环境:Django_1.11.8 与 Python_3.6 ModuleNotFoundError: No module named 'MySQLdb' django. ...

最新文章

  1. AI论文代码强制开源?“我反对!”
  2. 每日一皮:当我看到Bug背后的一切...我退缩了...
  3. 全栈必备Linux 基础
  4. MySQL5.6一主多从复制配置方式一:Tungsten复制中间件
  5. 公文字体字号标准2020_零秒处理公文格式的三个要点
  6. linux中mfsort用法,Linux命令――sort
  7. clickhouse物化视图优缺点_ClickHouse 适用场景
  8. jQuery中,选择器既匹配开头又匹配结尾
  9. 从Bayes角度理解Deep learning
  10. shell编程之进阶篇五函数
  11. 给创业前的你4点建议
  12. ubuntu16 下安装freeswitch 1.8.3
  13. imu传感器工作原理_各种传感器工作原理汇总
  14. 关于职业规划最好最全面的一篇文章
  15. 后端开发岗位要求汇总
  16. GRPC: 如何优雅关闭进程(graceful shutdown)?
  17. wait_proxies_to_terminate (../../../../../src/pm/i_hydra/mpiexec/intel/i_mpiexec.c:558): downstream
  18. 检测并替换数据中的离群值——filloutliers函数的MATLAB实现
  19. node.jshe npm的区别
  20. ultraedit15.00.0.1046注册码

热门文章

  1. 基于docker部署glusterfs
  2. 在Fedora23中安装XMind7
  3. 【初识C语言(下篇)】
  4. 生物力学-有限元分析
  5. uniapp 小程序连接蓝牙打印机打印条码
  6. Windows 下编译使用 TCMalloc
  7. 32套企业店铺展示微信小程序源码模板集合
  8. 电气通信与计算机类专业英语,电气信息类专业英语翻译精选.doc
  9. 什么是长尾关键词193
  10. 小程序字体 text 多种属性样式