MySQL Shell Python模式无法导入pandas模块求助
我之前碰到过一模一样的情况,核心原因其实很直白:MySQL Shell绑定的Python环境和你平时用的系统默认Python环境不是同一个,你在普通环境里装好的pandas,并没有被MySQL Shell的Python环境识别到。下面给你适配OSX和当前版本的具体解决步骤:
步骤1:确认MySQL Shell使用的Python解释器路径
先进入MySQL Shell的Python模式,执行这段代码:
import sys print(sys.executable)
这会输出MySQL Shell正在使用的Python可执行文件路径,比如可能是/usr/local/mysql-shell/bin/python这类路径,把这个路径记下来。
步骤2:给MySQL Shell的Python环境安装pandas
打开系统终端,用刚才拿到的Python路径执行pip安装命令(因为你用的是Python2.7,注意用对应版本的pip,可能是pip或pip2):
# 把路径替换成你刚才得到的结果 /path/to/mysql-shell/python -m pip install pandas
举个实际例子,如果输出的路径是/usr/local/mysql-shell/bin/python,那命令就是:
/usr/local/mysql-shell/bin/python -m pip install pandas
安装完成后回到MySQL Shell的Python模式,再尝试import pandas as pd,应该就能成功了。
备选方案:手动添加系统Python的包路径
如果上面的方法因为权限或其他原因行不通,你可以尝试把系统Python的pandas所在路径添加到MySQL Shell的Python搜索路径里:
在MySQL Shell的Python模式下执行:
import sys # 这是OSX上Python2.7默认的site-packages路径,如果你是用brew或其他方式安装的,可能需要调整路径 sys.path.append("/Library/Python/2.7/site-packages") import pandas as pd
如果这样能成功,你可以把这个配置持久化:
- 在用户目录下创建
.mysqlsh文件夹(如果还没有的话) - 在文件夹里创建
config.py文件,写入以下内容:
import sys sys.path.append("/Library/Python/2.7/site-packages")
这样每次启动MySQL Shell的Python模式时,这个路径会自动被添加到搜索路径中。
额外建议
你的MySQL Shell版本(8.0.11)和Python2.7都已经比较老旧了,Python2.7早就停止官方维护,旧版本的MySQL Shell也可能存在不少兼容性问题。如果条件允许,建议升级到支持Python3的最新版MySQL Shell,后续的包管理和功能体验都会顺畅很多。
内容的提问来源于stack exchange,提问作者Ole Hansen

