Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImportError: cannot import name force_text

I have installed Python 2.7 and Django 1.4 in my CentOS machine and installed all dependencies for my existing project. When I run python manage.py runserver, I am getting the following traceback in my console

[root@localhost bv]# python manage.py runserver
Validating models...

Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x8ddd7ec>>
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 91, in inner_run
    self.validate(display_num_errors=True)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 266, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/validation.py", line 30, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/local/lib/python2.7/site-packages/django/db/models/loading.py", line 158, in get_app_errors
    self._populate()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/loading.py", line 67, in _populate
    self.load_app(app_name)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/loading.py", line 88, in load_app
    models = import_module('.models', app_name)
  File "/usr/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/usr/local/lib/python2.7/site-packages/debug_toolbar/models.py", line 6, in <module>
    from debug_toolbar.toolbar.loader import load_panel_classes
  File "/usr/local/lib/python2.7/site-packages/debug_toolbar/toolbar/loader.py", line 12, in <module>
    from debug_toolbar.utils.settings import CONFIG
  File "/usr/local/lib/python2.7/site-packages/debug_toolbar/utils/__init__.py", line 9, in <module>
    from django.utils.encoding import force_text
ImportError: cannot import name force_text
like image 862
user2681579 Avatar asked Dec 09 '13 05:12

user2681579


People also ask

What is Force_text in Django?

force_text is a callable within the django. utils. encoding module of the Django project.

What is Force_str Django?

force_str is a callable within the django. utils. encoding module of the Django project.

How do I find Django version?

Simply type python -m django --version or type pip freeze to see all the versions of installed modules including Django.


1 Answers

Upgrade to the latest Django 1.4 (as of 07-08-2014 - the "1.4.13").

I see that they have added a shortcut (force_text) in the django.utils.encoding module: https://github.com/django/django/blob/stable/1.4.x/django/utils/encoding.py

Note, that the shortcut wasn't there in the initial 1.4 version (https://github.com/django/django/blob/1.4/django/utils/encoding.py) and was only added in 1.4.2 (https://github.com/django/django/blob/1.4.2/django/utils/encoding.py).

As stated in the docs of django-debug-toolbar, current version (as of 07-08-2014 - the "1.2.1") works fine on Django 1.4 to 1.7.

Thus, make sure you use latest version of Django 1.4.x and django-debug-toolbar.

like image 128
Artur Barseghyan Avatar answered Sep 20 '22 13:09

Artur Barseghyan