zoukankan      html  css  js  c++  java
  • Mac系统安装mysqlclient

    PyPi官网下载mysqlclient安装包,下载好之后解压,进入解压后的目录激活环境:

    env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" python setup.py install
    

    安装好之后执行下面命令报错如下:

    >>> import MySQLdb
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/xxx/.local/share/virtualenvs/MyDjango-c9TXLMy3/lib/python3.6/site-packages/MySQLdb/__init__.py", line 18, in <module>
        from . import _mysql
    ImportError: dlopen(/Users/xxx/.local/share/virtualenvs/MyDjango-c9TXLMy3/lib/python3.6/site-packages/MySQLdb/_mysql.cpython-36m-darwin.so, 2): Library not loaded: libcrypto.1.0.0.dylib
    

    注意这个错误:Library not loaded: libcrypto.1.0.0.dylib

    确认一下有没有安装openssl

    brew list openssl
    

    没有的话就安装一下

    brew install openssl
    

    有的话查看并进入安装目录:

    which openssl
    cd /usr/local/opt/openssl@1.1/lib
    

    把对应的几个包复制到/usr/lib/路径下:

    sudo cp libssl.1.1.dylib libcrypto.1.1.dylib /usr/lib
    

    如果报错:

    operation not permitted
    

    那么需要重启电脑,同时按住command+R进入保护模式,进入系统之后在屏幕左上方有个工具栏,选择终端,打开之后执行如下命令:

    csrutil disable
    

    执行之后再执行复制命令:

    sudo cp libssl.1.1.dylib libcrypto.1.1.dylib /usr/lib
    

    再报错:

    Read-only file system
    

    参考Apple官网社区,执行如下命令:

    sudo mount -uw /
    

    然后给相应的目录授权(当前目录还是在/usr/local/opt/openssl@1.1/lib下):

    sudo chown -R 777 ./*
    

    完成之后,再复制一下:

    sudo cp libssl.1.1.dylib libcrypto.1.1.dylib /usr/lib
    

    最后,恢复系统保护机制,重启电脑,按住command+R进入保护模式,,进入系统之后在屏幕左上方有个工具栏,选择终端,打开之后执行如下命令::

    csrutil enable
    

    最后重启一下,问题解决。

  • 相关阅读:
    C++学习(c++17)——2.X.使用string和string_view
    C++学习(c++17)——1.3一个小程序(part2.Datebase类)
    论++i + ++i + ++i
    C++学习(c++17)——1.3 一个小程序(part1.Employee类)
    C++学习(c++17)——1.2 稍微深入研究C++
    VS2019社区版关于Qt的设置
    C++学习(c++17)——1.1 C++基础知识
    2020杭电多校第五场
    2020杭电多校第四场
    2020杭电多校第三场
  • 原文地址:https://www.cnblogs.com/liuhuan086/p/12066808.html
Copyright © 2011-2022 走看看