Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python_2_unicode_compatible error

Tags:

I've models.py as follows,

from django.contrib.auth.models import User from django.db import models from django.utils.encoding import python_2_unicode_compatible from django.utils.timezone import now  @python_2_unicode_compatible class Tag(models.Model):     name = models.CharField(max_length=50, unique=True)      class Meta:             verbose_name = 'tag'             verbose_name_plural = 'tags'             ordering = ['name']      def __str__(self):             return self.name .............  and so on 

When I ran python manage.py syncdb this is the error I got:

itman@itman:~/djangoApp/mysite$ python manage.py syncdb Traceback (most recent call last):    File "manage.py", line 10, in <module>     execute_from_command_line(sys.argv)   File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line     utility.execute()   File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute     self.fetch_command(subcommand).run_from_argv(self.argv)   File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv     self.execute(*args, **options.__dict__)   File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 231, in execute     self.validate()   File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 266, in validate     num_errors = get_validation_errors(s, app)   File "/usr/lib/python2.7/dist-packages/django/core/management/validation.py", line 30, in get_validation_errors     for (app_name, error) in get_app_errors().items():   File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 158, in get_app_errors     self._populate()   File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 67, in _populate     self.load_app(app_name)   File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 88, in load_app     models = import_module('.models', app_name)   File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module     __import__(name)   File "/home/itman/djangoApp/mysite/bmark/models.py", line 4, in <module>     from django.utils.encoding import python_2_unicode_compatible ImportError: cannot import name python_2_unicode_compatible 

I don't know why the module is not imported. I'm using Python 2.7 and Django 1.4.

like image 636
kmario23 Avatar asked Dec 23 '13 10:12

kmario23


2 Answers

For the latest Django 3.0.4 , and auditlog try

from six import python_2_unicode_compatible 

instead of

from django.utils.six import python_2_unicode_compatible 

if it is not install run the below code

pip install six 
like image 113
goose Avatar answered Sep 17 '22 17:09

goose


try

from django.utils.six import python_2_unicode_compatible 

instead of

from django.utils.encoding import python_2_unicode_compatible 

this works well for me in Django 1.10.6

like image 30
Desperad0 Avatar answered Sep 18 '22 17:09

Desperad0