2010-01-16 31 views
6

Một trong những tính năng tuyệt vời của Django là bạn có thể mở một trình thông dịch viên python được thiết lập để sử dụng với dự án của bạn. Điều này có thể được sử dụng để phân tích các đối tượng trong một cơ sở dữ liệu và cho phép bất kỳ lệnh python nào được thực thi trên dự án của bạn. Tôi thấy nó cần thiết cho sự phát triển của Django. Nó được gọi trong thư mục dự án bằng cách sử dụng lệnh này:Vỏ Python/Django sẽ không bắt đầu

$ python manage.py shell 

Tôi vừa bắt đầu phát triển một dự án mới và vì lý do nào đó trình bao không hoạt động. Tôi đã có một cái nhìn trực tuyến cho các lỗi và không tìm thấy bất cứ điều gì. Tôi rất cảm kích mọi trợ giúp về lỗi này:


Traceback (most recent call last): 
    File "manage.py", line 11, in 
    execute_manager(settings) 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 362, in execute_manager 
    utility.execute() 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 303, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 222, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle 
    return self.handle_noargs(**options) 
    File "/Library/Python/2.6/site-packages/django/core/management/commands/shell.py", line 29, in handle_noargs 
    shell = IPython.Shell.IPShell(argv=[]) 
AttributeError: 'module' object has no attribute 'Shell' 

Cảm ơn bạn đã giúp đỡ!

+0

Bạn có ipython cài đặt không? Có phải nó trong 'PYTHONPATH' của bạn? – notnoop

+0

Ồ, đó là tốt đẹp, là django tích hợp với ipython sau đó? – shylent

+1

@shylent, có nghĩa là, theo nghĩa nó sẽ sử dụng IPython làm vỏ nếu nó được cài đặt. –

Trả lời

12

Dường như IPython được cài đặt sai cách nào đó. Thử bắt đầu trình bao bằng:

./manage.py shell --plain 

để khởi động vỏ Python chuẩn, chứ không phải IPython. Nếu nó hoạt động, sau đó thử gỡ bỏ hoàn toàn IPython và cài đặt lại nó.

+0

Cảm ơn bạn rất nhiều! Điều này hoạt động hoàn hảo. – danpalmer

+0

Tuyệt vời! Một nhóm cảm ơn –

6

IPython 0,11 có API khác, mà bản sửa lỗi tồn tại trong các phiên bản Django cuối cùng.

Đối với phiên bản Django cũ hơn, bạn có thể sử dụng IPython 0.10, mà không làm việc:

pip install ipython==0.10 
+1

xuống phiếu bầu \t Điều đó có hiệu quả. Tuy nhiên khi tôi bắt đầu trình bao, tôi đã nhận IOError: File'ipythonrc 'không tìm thấy trong các thư mục hiện tại hoặc được cung cấp:. Có lẽ đã viết phiên bản ipython 11 so với phiên bản hiện tại và 10 không còn có thể đọc được nữa !? chạy: rm -rf ~/.ipython/ Dường như được sửa chữa. – brianray

+2

@brianray: có thể, tôi có thể xác nhận rằng «rm -Rf ~/.ipython /' là một sửa chữa tốt ở đây. – vdboor

+0

Cảm ơn! Tôi đã chính xác tìm kiếm một phiên bản của python mà làm việc với django 1.0.4 – Munhitsu

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