在PyDev中访问交互式Django shell

Jam*_*ull 6 python eclipse django shell pydev

我可以从命令行打开一个交互式shell,而不是从Eclipse里面的PyDev打开.点击Django --> Shell with django environment我得到以下输出:

import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))
C:\Python27\python.exe 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)]
PyDev console: using default backend (IPython not available).

from django.core import management;import carbon_factors.settings as settings;management.setup_environ(settings)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'module' object has no attribute 'setup_environ'
Run Code Online (Sandbox Code Playgroud)

为了尝试解决这个问题,我已经将PyDev更新为3.2.0而没有更改输出.我正在使用Django 1.6.

我已经看了看评论在这里它指出了我这里.然而,接受的答案似乎已经内置到Django/PyDev中,因为它建议改变的行manage.py已经改变.

and*_*ndy 9

setup_environ已在Django 1.6中弃用.看到这里.

据我所知,PyDev已经硬编码了将Django shell启动到右键单击项目的方法 - >"带有Django环境的shell"菜单项.这是PyDev需要解决的问题(希望通过使用该命令简化他们正在做的任何事情只是"python manage.py shell"!)我不相信他们的菜单命令当前调用manage.py,这是为什么其他答案不适合你.

选项1 作为一个hacky解决方法,将"从django.conf导入设置; settings.configure()"添加到Window-> Preferences-> PyDev-> Interactive Console中的初始解释器命令.你仍会看到错误,但至少你会有你的设置.

选项2 在Window-> Preferences-> Interpreter-> Environment选项卡中,将环境变量"DJANGO_SETTINGS_MODULE"添加到设置文件的Python虚线路径中(最后排除'.py').