虚拟环境已安装mysql-connector但无法导入是什么原因
问题原因及解决方案
核心原因1:包名拼写错误
你执行的安装命令为pip install myqsql-connector,存在拼写错误:mysql被误写为myqsql,错误拼写会导致安装非官方兼容包,或者安装的包路径与mysql.connector的导入要求不匹配。
核心原因2:解释器调用匹配问题
即使which python3返回虚拟环境路径,若你启动REPL时输入的是python而非python3,部分系统会默认调用系统全局的Python解释器,不会加载虚拟环境内安装的依赖。
修复步骤
- 激活虚拟环境后,先卸载所有残留的mysql相关包,避免冲突:
pip uninstall -y mysql-connector mysql-connector-python myqsql-connector
- 安装官方兼容的MySQL连接器包:
pip install mysql-connector-python
- 明确用虚拟环境的Python3启动REPL,避免调用错误解释器:
/home/dyl/Development/minesweeperautomation/minesweeper_api_flask/venv/bin/python3
- 若仍导入失败,在REPL中执行以下命令确认路径配置:
import sys # 查看当前REPL使用的解释器路径 print(sys.executable) # 查看模块搜索路径列表 print(sys.path)
确认sys.executable输出为虚拟环境内的Python路径,且sys.path包含/home/dyl/Development/minesweeperautomation/minesweeper_api_flask/venv/lib64/python3.10/site-packages即可。
内容的提问来源于stack exchange,提问作者Jacob Walters
相关产品推荐
相关产品推荐

