【问题标题】:error when install mysqlclient using pip to MacOS Bigsur使用 pip 将 mysqlclient 安装到 MacOS Bigsur 时出错
【发布时间】:2021-08-18 09:03:28
【问题描述】:

我已经尝试过为mysqlclient错误编写的常见解决方案

  • 第一次尝试:brew install mysql-connector-c
  • 第二次尝试: LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient
  • 第三次尝试:brew install zstd

而且 mysql 服务器运行良好。 但是错误没有得到修复..

我收到clang linker errorlibrary not found for -lzstd

    clang -bundle -undefined dynamic_lookup -L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib -L/Users/user/.asdf/installs/python/3.7.10/lib -L/usr/local/opt/llvm/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib -L/Users/user/.asdf/installs/python/3.7.10/lib -L/usr/local/opt/llvm/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/usr/local/opt/llvm/lib -I/usr/local/opt/llvm/include build/temp.macosx-11.2-x86_64-3.7/MySQLdb/_mysql.o -L/usr/local/Cellar/mysql/8.0.25_1/lib -lmysqlclient -lzstd -lresolv -o build/lib.macosx-11.2-x86_64-3.7/MySQLdb/_mysql.cpython-37m-darwin.so
ld: library not found for -lzstd
clang-12: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang' failed with exit status 1

【问题讨论】:

    标签: mysql pip clang zstd


    【解决方案1】:

    在我的情况下,我没有 sudo 访问权限,因此为我的用户安装了 brew 检查您的 brew 是否不在默认位置 这样做是为了检查你安装 brew 的位置

    brew --prefix
    output: Users/helloWorld/homebrew
    

    使用上面的输出设置 ld 标志和 cpp 标志 例如对我来说 ssl 和 zstd 库没有找到所以这就是我所做的:

    export LDFLAGS="-L/Users/helloWorld/homebrew/lib -L/Users/helloWorld/homebrew/opt/openssl/lib"
    
    export CPPFLAGS="-I/Users/helloWorld/homebrew/include -I/Users/helloWorld/homebrew/opt/openssl/include" 
    

    然后进行 pip 安装

    pip3 install mysqlclient
    

    【讨论】:

    • 非常感谢!你为我节省了很多时间:)
    • 乐于助人!干杯!
    • 我遇到了完全相同的问题,完全按照 Rauhl 所说的那样完成,只是现在它说 ld: can't map file, errno=22 file '/opt/homebrew/opt/openssl/lib' for architecture arm64 :( 已经为此苦苦挣扎了 3 天了 smh
    • 您好 Ovi,您能否分享您在此错误消息之前尝试的命令。
    • 我做了一个小的编辑@Ovi你能不能再试一次。早些时候不知何故我错过了第二个 L 之前的连字符。export LDFLAGS="-L/Users/helloWorld/homebrew/lib -L/Users/helloWorld/homebrew/opt/openssl/lib"
    猜你喜欢
    • 2020-01-13
    • 2019-01-13
    • 2018-12-06
    • 2020-03-12
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多