![](/img/trans.png)
[英]Import pyaudio doesn't work - Symbol not found: _PaMacCore_SetupChannelMap on mac (Big Sur M1 Apple Silicon)
[英]Python import MySQLdb on MacOS M1 doesn't work
我安装了 Python 3.8.8
、 mysql
和mysql-client
。 我还使用pip
安装了mysql-connector-python==8.0.26
和mysqlclient==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 造成的。
在https://github.com/PyMySQL/mysqlclient/issues/496中有一个很好的讨论,这个问题的出现是 Python 的架构(ARM64 或 Intel)与 mysqlclient 的架构不一致。 因此,请检查您使用的是哪个 python(因为您可能会使用一些您不打算使用的 python)以及它们之间的一致性
即使您已经安装了mysqlclient
,您也需要安装 Oracle 本机客户端库才能使其工作。 您可以使用 brew 安装客户端。
brew install mysql-client
正如这个答案所说 MySQLdb 不支持 Python 3 你应该导入
import mysql.connector
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.