2015-01-09 19 views
12

Tôi đang cố gắng xây dựng một ứng dụng trò chuyện trong thời gian thực ở Django (1.7.1). Có vẻ như tôi cần cài đặt Redis và ishout.js. Vì vậy, tôi cài đặt chúng bằng cách làm theo các hướng dẫn.Cách giải quyết Lỗi Nhập: không thể nhập tên simplejson ở Django

Sau khi thực hiện dự án trong Django, tôi đặt 'drealtime' dưới INSTALLED_APPS, và đặt:

'drealtime.middleware.iShoutCookieMiddleware' 

ngay trên:

'django.contrib.sessions.middleware.SessionMiddleware' 

dưới MIDDLEWARE_CLASSES như nó đã được nói. Và tôi đặt lệnh như

python manage.py startapp example 

nhưng tôi vẫn có thông báo lỗi nhập khẩu này:

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute 
    django.setup() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/__init__.py", line 21, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/config.py", line 87, in create 
    module = import_module(entry) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/drealtime/__init__.py", line 4, in <module> 
    from django.utils import simplejson as json 

Sau khi tôi đã tìm kiếm thông qua trang web chính thức Django, tôi thấy simplejson không còn sử dụng và loại bỏ từ Django mới . Tôi không biết tại sao điều này lại xảy ra. Vui lòng cung cấp bất kỳ phản hồi nào về vấn đề này và biện pháp khắc phục có thể có để giải quyết vấn đề này.

Trả lời

14

Bạn đang sử dụng phiên bản lỗi thời của django-realtime.

Nâng cấp lên phiên bản mới nhất, họ fixed the 1.7 compatibility:

pip install django-realtime --upgrade 

Nếu lỗi vẫn còn, cài đặt trực tiếp từ github, chi nhánh chủ:

$ pip install git+https://github.com/anishmenon/django-realtime.git --upgrade 

FYI, sửa chữa:

try: 
    from django.utils import simplejson as json 
except: 
    import simplejson as json 

Điều khoản ngoại lệ trần - lập trình viên zen i nside đang giết tôi thì thầm except ImportError, except ImportError, except..

+0

Thật không may, tôi chưa có bất kỳ tệp view.py nào vì khi tôi cố gắng tạo ứng dụng, lỗi này xuất hiện, không cho phép tôi có bất kỳ tệp view.py nào. Tệp __init__.py hiện đang trống. –

+0

@SungpahLee không, tôi muốn cập nhật gói 'django-realtime', cài đặt lại phiên bản mới nhất:' pip install django-realtime --upgrade'. – alecxe

+0

rescomp-14-285794: realpro sungpah $ pip cài đặt django-realtime --upgrade Yêu cầu đã được cập nhật: django-realtime trong /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ site-packages Làm sạch ... rescomp-14-285794: realpro sungpah $ –

2

Đây là lỗi trong bản thân ứng dụng; không may là the error still persists in the master branch tại git.

Tôi đã gửi yêu cầu kéo để sửa lỗi; trong khi đó, bạn có thể làm như sau:

pip uninstall django-realtime 
pip install git+https://github.com/burhan/[email protected] 
+0

Cool. Cảm ơn lời khuyên thực sự tuyệt vời về vấn đề này và hy vọng rằng vấn đề chung sẽ được giải quyết nhanh chóng –

5

Tôi nghĩ rằng các câu trả lời ở trên là cách giải quyết.

Django sử dụng để vận chuyển với simplejson trong django.utils, nhưng điều này đã được gỡ bỏ trong Django 1.5json mô-đun là có sẵn trong thư viện chuẩn của Python.

Vì vậy, bây giờ bạn nên import json thay vì from django.utils import simplejson và thực hiện các thay đổi cần thiết khi phương thức simplejson được gọi.

Các vấn đề liên quan