Python error loading mysqldb module

Для работы с MySQL в Python создано несколько библиотек. Часть из них, например mysqclient, поддерживает Django, но с ними могут быть проблемы. Как решить эти проблемы, в том числе с PyMySQL, рассмотрим в статье.

В Django изначально реализована поддержка баз данных MySQL и MariaDB. Общение с этими базами выполняется через разные библиотеки, в том числе mysqlclient. Библиотека mysqlclient является самой быстрой и рекомендуемой при работе с Django и MySQL, но ее установка не всегда очевидна и вы можете столкнуться с рядом проблем.

Библиотеки для работы с MySQL в Python

Скорее всего их больше, какие-то библиотеки более не поддерживаются, но обычно выделяют 3 варианта для работы с базами MySQL в Python:

  • mysqclient — библиотека написанная на С, которая компилируется при установке. Является форком старого проекта MySQLdb1, который давно не поддерживается. Рекомендуется разработчиками Django и имеет самые высокие показатели производительности из остальных;
  • mysql-connector-python — это официальная библиотека от Oracle. На момент написания статьи можно встретить информацию, что разработчики переписали ее на Python 3, но это не так. Библиотека написана на Python 2.7, а поддержка этой версии закончилась в Django 2.0. В документации Django, почему-то, до сих пор можно прочитать о поддержке этого модуля. Библиотека имела самые низкие показатели скорости;
  • pymysql — сторонний проект написанные на Python 3. Django официально не поддерживает эту библиотеку. Создана теми же разработчиками, что и mysqlclient.

При установке библиотеки mysqlclient, на любой платформе (особенно на Windows), могут быть проблемы с компиляцией. Часть ошибок, которые у вас могут появиться:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
  • building ‘_mysql’ extension error: Microsoft Visual C++ 14.0 is required.
  • ModuleNotFoundError: No module named ‘MySQLdb’

Если у вас есть похожие проблемы, то я бы рекомендовал использовать mysqlclient на сервере (как самую быструю библиотеку), а pymysql использовать локально. О том как это сделать и как можно исправить ошибки написано далее.

Само собой статья исключает ситуацию, что вы можете использовать PostgreSQL в своем проекте.

pymysql

Самый простой и быстрый способ исправить ошибку — установить библиотеку pymysql:

python3 -m pip install PyMySQL

Что бы вы смогли использовать ее в Django, в файле settings.py вам нужно импортировать библиотеку и использовать метод для подключения к API MySQLdb:

import pymysql
pymysql.install_as_MySQLdb()

Эти настройки может понадобится положить в другие файлы, такие как ‘__init__.py’ или ‘manage.py’. Это зависит от вашего проекта. Суть в том, что мы должны импортировать pymysql до того, как будет выполнен импорт MySQLdb. Обычно это происходит в ‘settings.py’ в DATABASES.

Ниже пример файла настроек, который использую я при локальной разработке:

Подключение библиотеки PyMySql в Django

На странице проекта в github есть уточнение, которое касалось версий Django 2.2+ и следующей ошибкой:

  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3;

Я эту ошибку не встречал, но исправить ее можно вручную заменив версию mysqlclient следующим образом:

import pymysql
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()

Каких либо ошибок при работе с этой библиотекой я не замечал.

mysqlclient

Перед установкой библиотеки mysqclient, в случае Linux, вам понадобится установить целый ряд дополнительных пакетов для компиляции:

# Разработчики указывают следующие пакеты
# Ubuntu
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

# CentOS
sudo yum install python3-devel mysql-devel

# библиотеки, которые могут понадобится
# (советы с форумов, которые мне не пригодились)
sudo apt-get install mysql-client libssl-dev

В качестве эксперимента я установил чистый Windows 10 и Django 3.2 и ошибок с mysqlclient не было. Возможно разработчики что-то исправили. Если на Windows у вас все равно появляются ошибки, то вы можете скачать скомпилированную версию и установить ее через pip:

python3 -m pip install C:/mysqlclient-1.4.6-cp39-cp39-win32.whl

В случае Windows этот способ у меня не всегда срабатывал. Поэтому я предпочитаю, если использую MySQL, использовать PyMySQL локально, а mysqlclient на сервере.

Далее устанавливаем саму библиотеку через pip:

python3 -m pip install mysqlclient

mysql-connector-python

Эта официальная библиотека от разработчиков Oracle написанная на Python 2.7. Эта библиотека так же поддерживается разработчиками Django. В более новых версиях Django 3+ можно увидеть следующую ошибку:

  • ‘mysql.connector.django’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends, use ‘django.db.backends.XXX’, where XXX is one of:  ‘mysql’, ‘oracle’, ‘postgresql’, ‘sqlite3’

В Django 2.2 можно увидеть следующую ошибку:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

Эти ошибки связаны с отсутствием поддержки Python 2.7 начиная с Django 2.0. В марте 2020 года (прошел год с написания статьи) разработчики отписывались о том что в курсе этой проблемы и решают ее. Вы можете попытать удачу и установить этот модуль следующим образом:

python3 -m pip install mysql-connector-python

В файле setting.py указать следующие настройки:

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': ,
        'USER': ,
        'PASSWORD': ,
        'HOST': ,
    }
}

Теги:

#python

#django

Error Description:

  • When we activate the virtualenv and run python manage.py syncdb, we get this error:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
  execute_manager(settings)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
  utility.execute()
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command
  klass = load_command_class(app_name, subcommand)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
  module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in <module>
from django.contrib.contenttypes import generic
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in <module>
  from django.db import connection
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in <module>
  connection = connections[DEFAULT_DB_ALIAS]
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__
  backend = load_backend(db['ENGINE'])
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend
  return import_module('.base', backend_name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 14, in <module>
  raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
 

Solution 1:

First Run this command:

sudo pip install mysql-python; 

Now you can run your command.

python manage.py startapp filename; 

Solution 2:

  • If you don’t have pip, easy_install MySQL-python should work.
  • If your python is managed by a packaging system, you might have to use that system (e.g. sudo apt-get install)

Solution 3:

You can try this:

sudo apt-get install python-mysqldb 

Solution 4:

Try this:

brew install mysql-connector-c 
pip install MySQL-python 

Solution 5:

mysql_config must be on the path. On Mac, do

export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python 

Содержание

  1. Устанавливаем библиотеку PyMySQL вместо mysqlclient в Django
  2. Библиотеки для работы с MySQL в Python
  3. pymysql
  4. mysqlclient
  5. mysql-connector-python
  6. Django solving MySQLdb connect error
  7. Error loading MySQLdb module. Did you install mysqlclient?
  8. Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — пробовали ранее опубликованные решения
  9. 23 ответов:
  10. Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — попробовали ранее опубликованные решения
  11. 23 ответов

Устанавливаем библиотеку PyMySQL вместо mysqlclient в Django

В Django изначально реализована поддержка баз данных MySQL и MariaDB. Общение с этими базами выполняется через разные библиотеки, в том числе mysqlclient. Библиотека mysqlclient является самой быстрой и рекомендуемой при работе с Django и MySQL, но ее установка не всегда очевидна и вы можете столкнуться с рядом проблем.

Навигация по посту

Библиотеки для работы с MySQL в Python

Скорее всего их больше, какие-то библиотеки более не поддерживаются, но обычно выделяют 3 варианта для работы с базами MySQL в Python:

  • mysqclient — библиотека написанная на С, которая компилируется при установке. Является форком старого проекта MySQLdb1, который давно не поддерживается. Рекомендуется разработчиками Django и имеет самые высокие показатели производительности из остальных;
  • mysql-connector-python — это официальная библиотека от Oracle. На момент написания статьи можно встретить информацию, что разработчики переписали ее на Python 3, но это не так. Библиотека написана на Python 2.7, а поддержка этой версии закончилась в Django 2.0. В документации Django, почему-то, до сих пор можно прочитать о поддержке этого модуля. Библиотека имела самые низкие показатели скорости;
  • pymysql — сторонний проект написанные на Python 3. Django официально не поддерживает эту библиотеку. Создана теми же разработчиками, что и mysqlclient.

При установке библиотеки mysqlclient, на любой платформе (особенно на Windows), могут быть проблемы с компиляцией. Часть ошибок, которые у вас могут появиться:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
  • building ‘_mysql’ extension error: Microsoft Visual C++ 14.0 is required.
  • ModuleNotFoundError: No module named ‘MySQLdb’

Если у вас есть похожие проблемы, то я бы рекомендовал использовать mysqlclient на сервере (как самую быструю библиотеку), а pymysql использовать локально. О том как это сделать и как можно исправить ошибки написано далее.

Само собой статья исключает ситуацию, что вы можете использовать PostgreSQL в своем проекте.

pymysql

Самый простой и быстрый способ исправить ошибку — установить библиотеку pymysql:

Что бы вы смогли использовать ее в Django, в файле settings.py вам нужно импортировать библиотеку и использовать метод для подключения к API MySQLdb:

Эти настройки может понадобится положить в другие файлы, такие как ‘__init__.py’ или ‘manage.py’. Это зависит от вашего проекта. Суть в том, что мы должны импортировать pymysql до того, как будет выполнен импорт MySQLdb. Обычно это происходит в ‘settings.py’ в DATABASES.

Ниже пример файла настроек, который использую я при локальной разработке:

На странице проекта в github есть уточнение, которое касалось версий Django 2.2+ и следующей ошибкой:

  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3;

Я эту ошибку не встречал, но исправить ее можно вручную заменив версию mysqlclient следующим образом:

Каких либо ошибок при работе с этой библиотекой я не замечал.

mysqlclient

Перед установкой библиотеки mysqclient, в случае Linux, вам понадобится установить целый ряд дополнительных пакетов для компиляции:

В качестве эксперимента я установил чистый Windows 10 и Django 3.2 и ошибок с mysqlclient не было. Возможно разработчики что-то исправили. Если на Windows у вас все равно появляются ошибки, то вы можете скачать скомпилированную версию и установить ее через pip:

В случае Windows этот способ у меня не всегда срабатывал. Поэтому я предпочитаю, если использую MySQL, использовать PyMySQL локально, а mysqlclient на сервере.

Далее устанавливаем саму библиотеку через pip:

mysql-connector-python

Эта официальная библиотека от разработчиков Oracle написанная на Python 2.7. Эта библиотека так же поддерживается разработчиками Django. В более новых версиях Django 3+ можно увидеть следующую ошибку:

  • ‘mysql.connector.django’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends, use ‘django.db.backends.XXX’, where XXX is one of: ‘mysql’, ‘oracle’, ‘postgresql’, ‘sqlite3’

В Django 2.2 можно увидеть следующую ошибку:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

Эти ошибки связаны с отсутствием поддержки Python 2.7 начиная с Django 2.0. В марте 2020 года (прошел год с написания статьи) разработчики отписывались о том что в курсе этой проблемы и решают ее. Вы можете попытать удачу и установить этот модуль следующим образом:

Источник

Django solving MySQLdb connect error

Error loading MySQLdb module. Did you install mysqlclient?

Let’s go over your common steps to configure your laptop’s local environment.

First, create a Sites directory to keep your projects organized and in one place:

Then make a new directory for your project

Now create a new virtual environment for this project. It is important to keep separate virtual environments per project to prevent project dependencies conflicts.

Activate the new virtual environment

Your terminal should now look similar to this with the name of the environment on the right

Create a new Django project

Update Django’s database connection to connect to MySQL in settings.py and make sure to replace the placeholder connection settings with your own

At this point, you will run into this dreaded issue.

To fix it install this connector

Run Django again and the issue should be resolved.

Now remember to save your project dependencies for later use

Dependencies can be installed with this command

And make sure to deactivate your environment to prevent accidentally installing packages your project doesn’t need.

If you run into the ld: library not found for -lssl while trying to install mysqlclient make sure openssl is installed and that the path is set correctly in your bash_profile.

If after installing openssl the error persists it means your paths are still not set correctly. This a workaround but ideally you want to make sure the path is set correctly in your bash_profile.

You might need to set the paths like so

I hope this helps out and please give me some claps if it did. Thanks for reading.

Источник

Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — пробовали ранее опубликованные решения

Это очень обсуждаемая проблема для пользователей OSX 10.6, но я не смог найти решение, которое работает. Вот моя настройка:

Python 2.6.1 64bit
Django 1.2.1
MySQL 5.1.47 osx10. 6 64bit

Я создаю virtualenvwrapper с — no-site-packages, а затем устанавливаю Django. Когда я активирую virtualenv и запускаю python manage.py syncdb, я получаю эту ошибку:

Я также установил MySQL для Python адаптер, но безрезультатно (может я установил неправильно?).

кто-нибудь имел дело с этим раньше?

23 ответов:

у меня была такая же ошибка и pip install MySQL-python решил это за меня.

  • если у вас нет Пип, easy_install MySQL-python должны работать.
  • если ваш python управляется системой упаковки, возможно, вам придется использовать эта система (например sudo apt-get install . )

ниже Soli отмечает, что если вы получаете следующее сообщение об ошибке:

EnvironmentError: mysql_config not found

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

sudo apt-get install python-mysqldb

запуск Ubuntu, я должен был сделать:

добавление к другим ответам, следующее помогло мне закончить установку mysql-python:

Не забудьте добавить ‘sudo’ в начало команд, если у вас нет соответствующих разрешений.

попробуйте выполнить следующие команды. Они работают на меня:

mysql_config должен быть на пути. На Mac, do

EnvironmentError: mysql_config не найден

после поиска мой env:

затем я запустил startproject и внутри manage.py, я добавил Это:

кроме того, обновлено это внутри настройки:

у меня тоже configparser==3.5.0 установлен в моем virtualenv, не уверен, что это было необходимо или нет.

следующее отлично работало для меня, запустив Ubuntu 13.10 64-бит:

Теперь перейдите к своему virtualenv (например, папке env) и выполните следующее:

Я действительно нашел решение в отдельном вопросе, и я цитирую его ниже:

если вы создали virtualenv с параметром —no-site-packages (по умолчанию), затем общесистемные установленные дополнения, такие как MySQLdb не включены в пакетах виртуальной среды.

вам нужно установить MySQLdb с командой pip, установленной с помощью виртуальное окружение. Либо активировать виртуальное окружение с Бен/активировать скрипт, или использовать бин/ПГИ в виртуальное окружение, чтобы установить Библиотеки MySQLdb локально, а также.

кроме того, создайте новый virtualenv с системными сайтами-пакетами включено с помощью переключателя —system-site-package.

Я думаю, что это должно также работать с OSX. Единственной проблемой будет получение эквивалентной команды для установки libmysqlclient-dev и python-dev как они необходимы для компиляции mysql-python Я думаю.

надеюсь, что это помогает.

попробуйте это: это решило проблему для меня .

Источник

Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — попробовали ранее опубликованные решения

Это очень обсуждаемая проблема для пользователей OSX 10.6, но я не смог найти решение, которое работает. Вот моя установка:

Python 2.6.1 64 бит Django 1.2.1 В MySQL 5.1.47 osx10.6 64бит

Я создаю virtualenvwrapper с — no-site-packages, затем устанавливаю Django. Когда я активирую virtualenv и запускаю python manage.py syncdb, я получаю эту ошибку:

Я также установил MySQL для Python адаптер, но безрезультатно (может я установил неправильно?).

кто-нибудь занимался этим раньше?

23 ответов

у меня была такая же ошибка и pip install MySQL-python решил это за меня.

  • если у вас нет pip, easy_install MySQL-python должны работать.
  • если ваш python управляется упаковочной системой, вам, возможно, придется использовать эта система (например, sudo apt-get install . )

ниже Soli отмечает, что если вы получаете следующую ошибку:

EnvironmentError: mysql_config not found

. тогда у вас есть еще одна проблема с системной зависимостью. Решение этого будет варьироваться от системы к системе, но для систем, производных от Debian:

sudo apt-get install python-mysqldb

запуск Ubuntu, я должен был сделать:

добавление к другим ответам, следующее помогло мне закончить установку mysql-python:

Не забудьте добавить «sudo» в начало команд, если у вас нет соответствующих разрешений.

попробуйте выполнить следующие команды. Они работают на меня:

mysql_config должен быть на пути. На Mac, do

EnvironmentError: mysql_config не найден

как я заставил его работать:

после поиска моего env:

затем я запустил startproject и внутри manage.py, я добавил Это:

кроме того, обновлено это внутри настроек:

у меня тоже configparser==3.5.0 установлен в моем virtualenv, не уверен, что это было необходимо или нет.

надеюсь, это поможет,

следующее отлично сработало для меня, запустив Ubuntu 13.10 64-бит:

Теперь перейдите к virtualenv (например, к папке env) и выполните следующее:

Я действительно нашел решение в отдельном вопросе, и я цитирую его ниже:

если вы создали virtualenv с параметром —no-site-packages (по умолчанию), затем общесистемные установленные дополнения, такие как MySQLdb не включены в пакетах виртуальной среды.

вам нужно установить MySQLdb с командой pip, установленной с помощью виртуальное окружение. Либо активируйте virtualenv с помощью bin/activate сценарий или используйте bin/pip из virtualenv для установки MySQLdb библиотека локально, а также.

кроме того, создайте новый virtualenv с системными пакетами сайтов включено с помощью переключателя —system-site-package.

Я думаю, что это должно также работать с На OSX. Единственной проблемой будет получение эквивалентной команды для установки libmysqlclient-dev и python-dev как они необходимы для компиляции mysql-python Я думаю.

надеюсь, что это помогает.

попробуйте это: это решило проблему для меня .

Источник

Question :

Error loading MySQLdb Module ‘Did you install mysqlclient or MySQL-python?’

I am using windows 10 command line for a django project using python34 however, I am facing difficulties with SQL.

I have already installed mysqlclient using pip install mysqlclient==1.3.5 and located the file to make sure I was not delusional. I then ran python manage.py migrate to migrate the tables to the SQL database (I am using phpmyadmin). However when the command returned with…

 File "C:Usersuserenvlibsite-packagesdjangodbbackendsmysqlbase.py", line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?

I am aware that questions like these already exist, but not one solution seems to have made any impact on attempts. Thank you in advance.

Answer #1:

pip install pymysql

Then, edit the __init__.py file in your project origin dir(the same as settings.py)

add:

import pymysql

pymysql.install_as_MySQLdb()

Answer #2:

Faced same problem after migrating to python 3. Apparently, MySQL-python is incompatible, so as per official django docs, installed mysqlclient using pip install mysqlclient on Mac. Note that there are some OS specific issues mentioned in docs.

Quoting from docs:

Prerequisites

You may need to install the Python and MySQL development headers and libraries like so:

sudo apt-get install python-dev default-libmysqlclient-dev # Debian / Ubuntu

sudo yum install python-devel mysql-devel # Red Hat / CentOS

brew install mysql-connector-c # macOS (Homebrew) (Currently, it has bug. See below)

On Windows, there are binary wheels you can install without MySQLConnector/C or MSVC.

Note on Python 3 : if you are using python3 then you need to install python3-dev using the following command :

sudo apt-get install python3-dev # debian / Ubuntu

sudo yum install python3-devel # Red Hat / CentOS

Note about bug of MySQL Connector/C on macOS

See also: https://bugs.mysql.com/bug.php?id=86971

Versions of MySQL Connector/C may have incorrect default configuration options that cause compilation errors when mysqlclient-python is installed. (As of November 2017, this is known to be true for homebrew’s mysql-connector-c and official package)

Modification of mysql_config resolves these issues as follows.

Change

# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "

to

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

An improper ssl configuration may also create issues; see, e.g, brew info openssl for details on macOS.

Install from PyPI

pip install mysqlclient

NOTE: Wheels for Windows may be not released with source package. You should pin version in your requirements.txt to avoid trying to install newest source package.

Install from source

  1. Download source by git clone or zipfile.
  2. Customize site.cfg
  3. python setup.py install

Answer #3:

Use the below command to solve your issue,

pip install mysql-python
apt-get install python3-mysqldb libmysqlclient-dev python-dev

Works on Debian

Answer #4:

For pip

pip install pymysql

For pip3 you should use

python3 -m pip install PyMySQL

Then, edit the init.py file in your project origin directory (the same as settings.py). Add:

import pymysql

pymysql.install_as_MySQLdb()

Answer #5:

This command did the trick from @Aniket Sinha’s answer above:

pip install mysqlclient

Answered By: Walk

Answer #6:

If you already have mysqlclient installed (i.e. you see Requirement already satisfied) and are getting Error loading MySQLdb Module, the following worked for me:

  1. pip uninstall mysqlclient
  2. export LDFLAGS="-L/usr/local/opt/openssl/lib" and export CPPFLAGS="-I/usr/local/opt/openssl/include" as explained here
  3. pip install mysqlclient

That reinstalls mysqlclient and for whatever reason solved my problem.

Answer #7:

Installing mysqlclient using anaconda is pretty simple and straight forward.

conda install -c bioconda mysqlclient

and then, install pymysql using pip.

pip install pymysql

happy learning..

Answer #8:

For MAC os user:

I have faced this issue many times. The key here is to set these environment variables before installing mysqlclient by pip command. For my case, they are like below:

export LDFLAGS="-L/usr/local/opt/protobuf@3.7/lib"
export CPPFLAGS="-I/usr/local/opt/protobuf@3.7/include"

Понравилась статья? Поделить с друзьями:
  • Pycharm ошибка no module named
  • Python error fix
  • Pycharm как изменить язык интерфейса
  • Python error errno 32 broken pipe
  • Pycharm как изменить цвет текста