'pip install MySQL-python' не работает с 'IndexError'

Я на OSX El Capitan, используя Python 2.7 (Anaconda). Запуск командной pip install MySQL-python дает:

Collecting MySQL-python
  Using cached MySQL-python-1.2.5.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/d2/gd004m2s35z5dlyz9mfn6sc40000gn/T/pip-build-FYvb_T/MySQL-python/setup.py", line 17, in <module>
        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

Ни один из них не работал (выход с той же ошибкой).

  • pip install mysqlclient
  • easy_install MySQL-python

pip является актуальным. Я в основном старался следовать всем предложениям по смежным вопросам, но никому не удалось. Любая помощь приветствуется, спасибо!

Ответ 1

Скопируйте из этого блога.

Узнав, что mysql-connector-c может прийти к выводу, что конфигурация при установке brew может быть неправильной, откройте сценарий /usr/local/bin/mysql_config чтобы изменить его содержимое:

#Create options
Libs = "-L$pkglibdir "
Libs = "$libs -l"

изменить на:

#Create options
Libs = "-L$pkglibdir"
Libs = "$libs -lmysqlclient -lssl -lcrypto"

Сохранить
Затем переустановите mysql-python:

pip install mysql-python

Ответ 2

Я встретил такую же ошибку и решил с помощью следующих инструкций:

  1. Заменить удаление mysql-connector-c
  2. варить установку mysql
  3. invoke "mysql_config --libs" и подтвердить его вывод включают в себя правильные параметры библиотеки: "-L/usr/local/Cellar/mysql/5.7.20/lib -L mysqlclient -L ssl -L crypto"
  4. экспортировать LDFLAGS = -L/usr/local/opt/openssl/lib && pip install mysqlclient

Ответ 4

Я получил ту же ошибку при установке pip install MySql-python.

Затем я установил libmysqlclient-dev используя команду:

sudo apt install libmysqlclient-dev

После его установки я снова попробовал и pip install MySql-python и это сработало для меня.