【问题标题】:Python import MySQLdb on MacOS M1 doesn't workMacOS M1上的Python导入MySQLdb不起作用
【发布时间】:2022-01-27 20:42:33
【问题描述】:

我安装了 Python 3.8.8mysqlmysql-client。我还使用pip 安装了mysql-connector-python==8.0.26mysqlclient==2.1.0 库。

但是行

python -c "导入 MySQLdb"

返回此错误:

> Traceback (most recent call last):
  File "/Users/louisgabilly/anaconda3/envs/venv/lib/python3.8/site-packages/MySQLdb/__init__.py", line 18, in <module>
    from . import _mysql
ImportError: dlopen(/Users/louisgabilly/anaconda3/envs/venv/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Users/louisgabilly/anaconda3/envs/venv/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.so
  Expected in: flat namespace
 in /Users/louisgabilly/anaconda3/envs/venv/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.so
>
>During handling of the above exception, another exception occurred:
>
>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/louisgabilly/anaconda3/envs/venv/lib/python3.8/site-packages/MySQLdb/__init__.py", line 24, in <module>
    version_info, _mysql.version_info, _mysql.__file__
NameError: name '_mysql' is not defined

我相信这个错误是由于 MacOS M1 造成的。

【问题讨论】:

    标签: python mysql macos mysql-python


    【解决方案1】:

    即使您已经安装了mysqlclient,您也需要安装 Oracle 本地客户端库才能使其工作。您可以使用 brew 安装客户端。

    brew install mysql-client
    

    【讨论】:

    • mysql-client 也已经使用 brew 安装了
    【解决方案2】:

    正如this 回答所说 MySQLdb 不支持你应该导入的 Python 3

    import mysql.connector 
    

    【讨论】:

    猜你喜欢
    • 2014-11-09
    • 2015-02-08
    • 2022-06-20
    • 2018-09-21
    • 2012-11-27
    • 2012-07-11
    • 2012-02-03
    • 2010-10-11
    • 2021-04-18
    相关资源
    最近更新 更多