暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

M1 Mac 上安装 python mysqlclient

K8sCat 2021-07-12
3720

下面记录了在 M1 Mac 上如何解决安装 python mysqlclient
失败的问题。

安装过程

一开始的安装命令:

pip install mysqlclient==1.4.4

复制

安装 mysqlclient
会出现下面的问题:

mysql_config not found

复制

这个问题可以通过在本地安装 mysql
来解决:

$ brew install mysql
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
    arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.

复制

根据第一次安装失败的提示,进行了第二次安装:

arch -arm64 brew install mysql

复制

然后再尝试安装 mysqlclient
时又出现了下面的问题:

ld: library not found for -lzstd

复制

通过 参看内容1,知道了需要安装 zstd

brew install zstd

复制

安装完 zstd
后重新尝试安装 mysqlclient
,但仍是那个错误 ld: library not found for -l
,然后通过 参看内容2 得知,可以通过 env
设置环境变量指定依赖库的位置:

env LDFLAGS="-L/opt/homebrew/Cellar/zstd/1.5.0/lib" pip install mysqlclient==1.4.4

复制

这时发现类似的问题:

ld: library not found for -lssl

复制

然后在 参看内容2 中可以得知需要安装 openssl

brew install openssl

复制

在确认已经安装 openssl
后,再尝试安装 mysqlclient
,发现问题仍没有解决,这时再通过 env
设置一下 openssl
依赖库的位置:

env LDFLAGS="-L/opt/homebrew/Cellar/zstd/1.5.0/lib -L/opt/homebrew/Cellar/openssl@1.1/1.1.1k/lib" pip install mysqlclient==1.4.4

复制

到这里就成功安装了 mysqlclient

参考内容

  1. https://stackoverflow.com/questions/67840691/ld-library-not-found-for-lzstd-while-bundle-install-for-mysql2-gem-ruby-on-mac
  2. https://stackoverflow.com/questions/51701051/error-install-mysqlclient-with-pip-library-not-found-for-lssl


文章转载自K8sCat,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论