MySQL Workbench 无法导入 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.2otdll(以防止加载if(解决了pyodbc加载问题。

我不知道禁用dll会有什么副作用,但就python 2.7已经安装并运行而言,我认为这不应该是个问题。

无论如何,迁移向导现在正在工作。

有必要为其安装python 2.7版和pyodbc

在我的情况下,我试图使用SQL WorkBench的数据库迁移向导将SQL Server表迁移到MySQL,但遇到了这个pyodbc错误。

在上面针对Windows10:的@Flo答案的基础上构建

  1. 卸载所有python安装(这一步可能是可选的,但我有很多安装,希望从头开始(
  2. 安装python 2.7.x 64位。在安装过程中,将python.exe注册到$Path/命令行(默认情况下未选中此项,因此我必须启用它(
  3. 安装64位MySQL WorkBench(请参阅"其他下载"部分,在我的情况下为v8.0.22(
  4. 安装适用于Python的MS VC++编译器(如本文所述,用于解决"错误:INCLUDE环境变量为空"错误(
  5. 打开cmd.exe(命令行(并键入:cd C:\Python27\Scripts
  6. 运行pip命令:pip-install-Iv pyodbc==2.1.8
  7. 将Sql WorkBench的python27.dll副本重命名为python27;C: \Program Files\MySQL\MySQL Workbench 8.0 CE\
  8. 启动SQL WorkBench>数据库菜单>迁移向导>点击";开始迁移";按钮和pyodbc错误应该不再显示

我在MySQL Workbench版本8.0.22中遇到了同样的问题。通过安装Python2.7并重命名python27ddl来强制MySQL工作台从python安装中使用它,从而解决了这个问题

我遇到了类似的问题,在搜索中首先遇到了这个问题。然而,以下问题和答案最终解决了我的问题:在mysql工作台中启动迁移向导时出现的问题

我将MySQL工作台降级到8.0.20,pyodbc错误消失了!

您可以采取其他步骤(如以上链接所示(复制必要的文件并再次升级:

  1. 尝试安装MySQL Workbench的较低版本,例如8.0.20。(使用MySql安装程序很容易(
  2. 查找文件";C: \Program Files\MySQL\MySQL Workbench 8.0 CE\python\site packages\pyodbc.pyd"并保存它
  3. 然后将MySQL Workbench升级到最新版本(在我的案例中为8.0.22(
  4. 将先前保存的文件pyodbc.pyd复制回";C: \Program Files\MySQL\MySQL Workbench 8.0 CE\python\site packages">

最新更新