• 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
    

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

  • 相关阅读:
    要打印
    1月21日
    弹出层layer的使用
    Python学习笔记文件操作list列表操作
    Python学习笔记控制流之布尔值
    Python学习笔记控制流之操作运算符
    Python学习笔记字符串
    Python学习笔记list_to_str列表转字符串
    DropDownList 下拉无限极分类代码
    Jquery 基础教程测试
  • 原文地址:https://www.cnblogs.com/liuhuan086/p/12066808.html
Copyright © 2020-2023  润新知