【问题标题】:mysql workbench can't import pyodbcmysql工作台无法导入pyodbc
【发布时间】:2018-10-28 20:54:40
【问题描述】:

我已安装 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

【问题讨论】:

    标签: python mysql


    【解决方案1】:

    我在 Windows 上遇到了同样的问题,将 python 3.8 安装替换为 2.7 还不够。

    这很奇怪,因为当我启动 python 控制台时,我能够导入 pyodbc 模块。但是当我启动Mysql Workbench安装目录下的python.exe时,模块无法加载(报错说找不到dll,不知道是哪个)。

    我最初认为这与这两个上下文之间的 sys.path 差异有关,但在使路径相同后加载错误仍然存​​在。

    最后在Mysql Workbench目录下找到了一个python27.dll文件,将这个文件重命名为python27.notdll(防止if被加载)解决了pyodbc加载问题。

    我不知道禁用此 dll 可能会产生什么副作用,但就 python 2.7 已经安装和工作而言,我认为这应该不是问题。

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

    【讨论】:

    • 谢谢-这对我有用-我想如果有人去mysql工作台并使用pip专门安装pyodbc,它可能会起作用。对我来说,尝试它太麻烦了,因为我已经单独安装了 python 并将它放在我的路径上。
    【解决方案2】:

    需要为它安装python 2.7版和pyodbc

    【讨论】:

      【解决方案3】:

      在我的情况下,我尝试使用 SQL WorkBench 的数据库迁移向导到 migrate SQL Server tables to MySQL 并遇到了这个 pyodbc 错误。

      在 Windows 10 的 @Flo answer above 上构建:

      1. 卸载所有 python 安装(此步骤可能是可选的,但我安装了很多次并且想从头开始工作)
      2. 安装python 2.7.x 64-bit。在安装过程中,将 python.exe 注册到 $Path/command line(默认情况下未选中,因此我必须启用它)。
      3. 安装MySQL WorkBench 64-bit(请参阅“其他下载”部分,在我的情况下为 v8.0.22)
      4. 安装 MS VC++ Compiler for Python(如引用 here 以解决“错误:INCLUDE 环境变量为空”错误)
      5. 打开 cmd.exe(命令行)并输入:cd C:\Python27\Scripts
      6. 运行 pip 命令:pip install -Iv pyodbc==2.1.8
      7. 将 Sql WorkBench 的 python27.dll 副本重命名为 python27。nodll 在“C:\Program Files\MySQL\MySQL Workbench 8.0 CE\
      8. 启动 SQL WorkBench > 数据库菜单 > 迁移向导 > 单击“开始迁移”按钮,pyodbc 错误应该不再显示。

      【讨论】:

      • 这似乎对我不起作用。 Windows 10,相同的 MySQLWorkbench 版本。一旦我重命名 python27.dll 工作台就拒绝打开。 python 命令也正确映射到我的新 python 2.7 安装,因此没有任何关于它为什么不起作用的线索。
      • @Sk446 尝试检查启动日志? dev.mysql.com/doc/workbench/en/wb-configuring-files.html。您也可以尝试右键单击 sql 工作台图标 > 以管理员身份运行,以确保它不是 UAC 或权限。
      【解决方案4】:

      我在 MySQL Workbench v. 8.0.22 中遇到了同样的问题。通过安装 Python2.7 并重命名 python27.ddl 以强制 MySQL Workbench 从 python 安装中使用它来解决它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-04
        • 2021-12-09
        • 1970-01-01
        • 2022-12-13
        • 2022-07-25
        • 2016-04-20
        • 2016-04-20
        • 1970-01-01
        相关资源
        最近更新 更多