Установите mysqlclient для Django Python в Mac OS X Sierra

Я уже установил

  • Python 2.7.13
  • Django 1.11
  • MySQL 5.7.17

Я хочу использовать MySQL с Django, но после установки mysql-коннектора я пытался установить mysqlclient для Python на $ 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/y_/c31n_1v12v169zfv829p_v_80000gn/T/pip-build-f51KhW/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/y_/c31n_1v12v169zfv829p_v_80000gn/T/pip-build-f51KhW/mysqlclient/

Ответ 1

Я тоже столкнулся с этой проблемой, ниже мой шаг:

1. brew install mysql-connector-c

2. pip install mysqlclient

а затем столкнулся с этой ошибкой, я проследил исходный код, но решил это, затем произошла другая ошибка.

поэтому я изменил способ установки mysqlclient, просто:

1. brew install mysql

2. pip install mysqlclient

это сработало для меня, никаких ошибок не было.

Ответ 2

Мне нужно следующее, чтобы собрать/установить mysqlclient

brew install mysql-client
# mysql-client is not on the 'PATH' by default
export PATH="/usr/local/opt/mysql-client/bin:$PATH"
# openssl is not on the link path by default
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"

Тогда я мог бы pip install mysqlclient pip wheel mysqlclient/pip install mysqlclient успешно pip install mysqlclient

Ответ 3

Установите mysql-client вместо mysql если вы не планируете иметь mysql на своем компьютере

brew install mysql-client

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

source ~/.bash_profile

pip install mysqlclient

export LDFLAGS = "-L/usr/local/opt/openssl/lib"

export CPPFLAGS = "-I/usr/local/opt/openssl/include"

Ответ 4

Для Mac: сначала загрузите Xcode из App Store и MySqlWorkbench с https://dev.mysql.com/downloads/workbench/

Выполните следующие команды в терминале,

$ brew install mysql

$ export PATH=$PATH:/Applications/MySQLWorkbench.app/Contents/MacOS

$ xcode-select --install

$ pip install mysqlclient

Ответ 5

Установите mysql с помощью brew и добавьте его в путь:

$ brew install mysql

$ export PATH=/usr/local/mysql/bin:$PATH

$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

$ pip install mysqlclient

Ответ 6

brew install/upgrade/reinstall mysql
brew install mysql-client
export PATH="/usr/local/opt/openssl/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
pip install mysqlclient works
works perfectly