0

I am setting up django rest project with mysql. I installed all my dependencies including mysql-python:

Django==1.11.12
djangorestframework==3.8.2
django-cors-headers==2.2.0
drfdocs==0.0.11
mysql-python==1.2.5
django-rest-auth==0.9.3
django-allauth==0.35.0
nltk==3.2.5
django-extensions==2.0.7
pyparsing==2.2.0
pydot==1.2.4

I needed few tweaks as discussed here Mac pip install mysql-python unsuccessful

Now when I try to run python manage.py migrate I get following error:

(VB_env) shannon:VB_Backend_SCG nitishpatkar$ python manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute
    django.setup()
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models()
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 52, in <module>
    class AbstractBaseUser(models.Model):
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/models/base.py", line 124, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/models/base.py", line 325, in add_to_class
    value.contribute_to_class(cls, name)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/models/options.py", line 214, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/utils.py", line 211, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/utils.py", line 115, in load_backend
    return import_module('%s.base' % backend_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so
  Expected in: flat namespace
 in /Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so.
Did you install mysqlclient or MySQL-python?

Why is it happening? I am on mac and I have installed MySQL as well.

UPDATE:

(VB_env) shannon:VB_Backend_SCG nitishpatkar$     pip install mysqlclient
Requirement already satisfied: mysqlclient in /Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages (1.3.12)
(VB_env) shannon:VB_Backend_SCG nitishpatkar$ python manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute
    django.setup()
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models()
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 52, in <module>
    class AbstractBaseUser(models.Model):
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/models/base.py", line 124, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/models/base.py", line 325, in add_to_class
    value.contribute_to_class(cls, name)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/models/options.py", line 214, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/utils.py", line 211, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/utils.py", line 115, in load_backend
    return import_module('%s.base' % backend_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so
  Expected in: flat namespace
 in /Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so.
Did you install mysqlclient or MySQL-python?
(VB_env) shannon:VB_Backend_SCG nitishpatkar$ 

UPDATE 2:

(VB_env) shannon:VB_Backend_SCG nitishpatkar$ pip list
Package             Version  
------------------- ---------
certifi             2018.4.16
chardet             3.0.4    
Django              1.11.12  
django-allauth      0.35.0   
django-cors-headers 2.2.0    
django-extensions   2.0.7    
django-rest-auth    0.9.3    
djangorestframework 3.8.2    
drfdocs             0.0.11   
idna                2.7      
MySQL-python        1.2.5    
mysqlclient         1.3.12   
nltk                3.2.5    
oauthlib            2.1.0    
pip                 10.0.1   
pydot               1.2.4    
pyparsing           2.2.0    
python-openid       2.2.5    
pytz                2018.4   
requests            2.19.1   
requests-oauthlib   1.0.0    
setuptools          39.2.0   
six                 1.11.0   
typing              3.6.4    
urllib3             1.23     
wheel               0.31.1   
(VB_env) shannon:VB_Backend_SCG nitishpatkar$

3 Answers 3

0

You have to install mysqlclient in order to use mysql with django.

Run this command

    pip install mysqlclient
Sign up to request clarification or add additional context in comments.

5 Comments

error shows it is not installed. try install once again and check. in /Users/nitishpatkar/Development/Vision Backlog rewrite/VB_env/lib/python2.7/site-packages/_mysql.so. Did you install mysqlclient or MySQL-python?
I tried to freshly install mysqlclient and updated my stacktrace.
I also deleted my virtualenv and did a complete reinstall with pip install -r requirements.txt but the same error persists.
try pip uninstall mysql-python pip install mysql-python
pip list .. run this command and check if package is installed.. can you paste the installed packages
0

Before Installing do 'Upgrade' and 'Update' and later try to install 'mysqlclient'

Comments

0

can you try install the below two packages and try

Python3

-> sudo apt-get install python-dev python3-dev
-> sudo apt-get install libmysqlclient-dev

Python2.7

-> sudo apt-get install python-dev python2.7-dev
-> sudo apt-get install libmysqlclient-dev

2 Comments

I am using python 2.7, wouldn't that be a problem?
Sure,by the way I am on mac

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.