python - mysql工作台无法导入pyodbc
问题描述
我已经安装了 mysql workbench v. 8.0.13,并正在尝试运行迁移工具,但出现错误:
Could not import the pyodbc python module. You need pyodbc 2.1.8 or newer for migrations from RDBMSes other than MySQL.
我已经安装了pyodbc:
Python 3.7.0 (default, Sep 28 2018, 16:44:32)
[GCC 8.2.1 20180831] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> pyodbc.version
'4.0.24'
我该如何解决这个问题?
OS: Linux my-pc 4.19.0-3-MANJARO #1 SMP PREEMPT Sat Oct 27 22:40:22 UTC 2018 x86_64 GNU/Linux
解决方案
我在 Windows 上遇到了同样的问题,用 2.7 替换 python 3.8 安装是不够的。
这很奇怪,因为当我启动 python 控制台时,我能够导入 pyodbc 模块。但是当我启动Mysql Workbench安装目录中包含的python.exe时,无法加载该模块(错误是告诉找不到dll,不知道是哪个)。
我首先认为这与这两个上下文之间的 sys.path 差异有关,但是在使路径相同后加载错误仍然存在。
最后在Mysql Workbench目录下找到了一个python27.dll文件,将这个文件重命名为python27.notdll(防止if被加载)解决了pyodbc加载问题。
我不知道禁用此 dll 可能会产生什么副作用,但就 python 2.7 已经安装和工作而言,我认为这应该不是问题。
无论如何,迁移向导现在正在工作。
推荐阅读
- android - Local loop back message passing mechanism within a native service in Android
- reactjs - 命名空间“React”没有导出的成员“FC”。在“@types/reactor”中
- vue.js - Vue路由器,刷新显示空白页面
- sql - Oracle 到 SQL Server 查询迁移结果为:视图、内联函数、派生表中的 ORDER BY 子句无效
- git - 如何检查 Git 邮件映射文件的语法?
- java - 有没有一种简单的方法可以消除输出中的最后一个逗号?数字分隔符
- latex - R Markdown:PDF文档编译错误(pdf后端)
- java - 使用自定义 Maven 插件时找不到第三方库
- arrays - 使用python从while循环到文本文件的数组输出
- python-3.x - pip包安装失败