настроить mysql с django на mac os

Я пытаюсь настроить сервер mysql с помощью своего приложения django, но у меня возникают проблемы с его правильной установкой.

Я использовал brew install mysql для установки сервера mysql.

Затем я использовал pip install mysqlclient, который дает эту ошибку:

Collecting mysqlclient
  Using cached mysqlclient-1.3.10.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/r9/n0ld0jk57x590rzq5kv8x4wc0000gn/T/pip-build-ZZb7dn/mysqlclient/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 54, in get_config
        libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
      File "setup_posix.py", line 12, 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/r9/n0ld0jk57x590rzq5kv8x4wc0000gn/T/pip-build-ZZb7dn/mysqlclient/

Также пробовал, pip install MySQL-python но тоже выдает такое же сообщение об ошибке.

Я делаю что-то не так здесь? Пожалуйста, направьте меня в правильном направлении, я недавно перешел с Linux на Mac OS, и я немного запутался, как здесь все работает.

Примечание. Я пытаюсь сделать это в файле virtual environment.


person kamayani    schedule 04.06.2017    source источник
comment
Попробуйте pip search mysql | grep mysql и найдите нужный модуль для установки в pip. Затем sudo pip install my_beloved_module.   -  person Chiheb Nexus    schedule 04.06.2017
comment
Я не думаю, что это полная ошибка. Фактическая причина ошибки могла быть прямо над сообщением, которое вы дали; Вы знаете, что это было?   -  person numbermaniac    schedule 04.06.2017
comment
@ChihebNexus Показывает ряд пакетов, которые, я думаю, могут работать. Я не уверен, какой из них я должен выбрать. Их слишком много.   -  person kamayani    schedule 04.06.2017
comment
Вы пробовали easy_install mysql-python?   -  person Kaushal    schedule 04.06.2017
comment
@Kaushal Я сделал это прямо сейчас. Это дает мне сообщение об ошибке IndexError: индекс строки вне диапазона.   -  person kamayani    schedule 04.06.2017
comment
Странно, похоже, это ошибка в коде установки mysqlclient. Похоже, об этом стоит сообщить разработчикам, если вы не единственный: похоже, у кого-то еще была ошибка: stackoverflow.com/q/43629713/3150837   -  person numbermaniac    schedule 05.06.2017
comment
@kamayani ты нашел какое-нибудь решение??   -  person nikdange_me    schedule 27.08.2017


Ответы (1)


Для python3 + django 1.11 + mysql на Mac. Это сработало для меня:

  1. brew install mysql-connector-c
  2. отредактируйте mysql_config (найдите его: which mysql_config)

Измените следующее в mysql_config:

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

To:

# Create options #
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
  1. brew info openssl

  2. и наконец pip3 install mysqlclient

и сделано.

person IJR    schedule 27.03.2018
comment
Для pipenv + mysql5.7 + django2 + python3 тоже работает. Большое спасибо. - person ruxtain; 06.10.2018
comment
С virtualenv + mysq8 + django2 + python3.7 он не работает на Mac - person Santhosh Nagulanchi; 27.02.2019