使用pip安装MySQL-python

3
我正在尝试在Mac OS上安装Python的MySQLdb。 当我键入“pip install MySQL-python”时,命令行会返回以下内容:
收集MySQL-python 正在使用缓存https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip 命令python setup.py egg_info的全部输出: Traceback (most recent call last): File "", line 1, in File "/private/var/folders/9h/2lp9kx993ygbrfk1lxr0sz500000gq/T/pip-install-7xyyBe/MySQL-python/setup.py", line 17, in metadata, options = get_config() File "setup_posix.py", line 53, in get_config libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ] File "setup_posix.py", line 8, in dequote if s[0] in "\"'" and s[0] == s[-1]: IndexError: string index out of range ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/9h/2lp9kx993ygbrfk1lxr0sz500000gq/T/pip-install-7xyyBe/MySQL-python/
我该怎么做? 我已经到处搜索,但找不到答案。(我已经安装了Python 2.7)

如果您需要与旧版 Python 兼容,请尝试通过 pip install mysqlclient 进行安装,或者尝试下载 brew 并运行 brew install mysql-connector-cbrew install mysql。如果有帮助,请告诉我。 - peachykeen
1个回答

7

我修复了错误。如果有人遇到这个错误,请按照以下步骤操作:

  1. 首先安装mysql连接器

    brew install mysql-connector-c

    1. 您需要修改mysql_config中的行(这是一个别名)

    vim /usr/local/bin/mysql_config

    (我建议使用文件编辑器打开mysql_config,您可以在此处找到确切的文件夹)

    /usr/local/Cellar/mysql-connector-c/6.1.11/bin/

    1. 替换这些行。
      # Create options 
      libs="-L$pkglibdir"
      libs="$libs -l "
    
    

    应该是:

      
      # Create options 
      libs="-L$pkglibdir"
      libs="$libs -lmysqlclient -lssl -lcrypto"
    
    
    1. 设置环境变量

    brew info openssl

    它会告诉您需要什么

     For compilers to find this software you may need to set:
          LDFLAGS:  -L/usr/local/opt/openssl/lib
          CPPFLAGS: -I/usr/local/opt/openssl/include
      For pkg-config to find this software you may need to set:
          PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
    
    
    1. 然后您可以安装MySQL

    pip install MySQL-python

    1. 您可以使用以下命令测试是否已安装MySQL:

    python -c "import MySQLdb"

    希望这对您也有用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接