关于macos:pip install MySQL-python

pip install MySQL-python

我正在尝试在Mac OS上安装mysqldb for python。当我数字pip install MySQL-python时,shell返回:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Collecting MySQL-python
  Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip
    Complete output from command 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)


我修正了错误。如果有人出现此错误,请执行以下步骤:

  • 首先安装mysql connector


    brew install mysql-connector-c

  • 您必须在mysql_config中修改行(这是一个别名)
  • vim /usr/local/bin/mysql_config

    (我真诚地考虑使用文件编辑器打开mysql_config,您可以找到此处为精确文件夹)

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

  • 更换这些管路。
  • 1
    2
    3
      # Create options
      libs="-L$pkglibdir"
      libs="$libs -l"

    应该是:

    1
    2
    3
      # Create options
      libs="-L$pkglibdir"
      libs="$libs -lmysqlclient -lssl -lcrypto"
  • 设置环境变量
  • brew info openssl

    它会告诉你需要什么

    1
    2
    3
    4
    5
     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
  • 然后你可以安装mysql
  • pip install MySQL-python

  • 您可以测试是否安装了MySQL:
  • python -c"import MySQLdb"

    希望这对你也有用!