我可以从命令行打开一个交互式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'
为了尝试解决这个问题,我已经将PyDev更新为3.2.0而没有更改输出。我正在使用Django 1.6。
我查看了here评论,该评论指出了我here。然而,接受的答案似乎已经内置到Django / PyDev中,因为它建议在manage.py
中更改的行已经更改。
答案 0 :(得分:9)
setup_environ
。请参阅here。
据我所知,PyDev已经将这种启动Django shell的方法硬编码到右键单击项目中 - &gt; “带有Django环境的shell”菜单项。这是PyDev需要解决的问题(希望通过使用该命令简化他们正在做的任何事情只是“python manage.py shell”!)我不相信他们的菜单命令当前调用manage.py,这是为什么其他答案对你不起作用。
选项1 作为一个hacky解决方法,将“从django.conf导入设置; settings.configure()”添加到Window-&gt; Preferences-&gt; PyDev-&gt; Interactive Console中的初始解释器命令。你仍会看到错误,但至少你会有你的设置。
选项2 在Window-&gt; Preferences-&gt; Interpreter-&gt; Environment选项卡中,添加一个环境变量“DJANGO_SETTINGS_MODULE”,其中包含Python虚线路径到您的设置文件(最后不包括'.py')。
答案 1 :(得分:1)
对于Django 1.10和Eclipse Neon。 关注Option 1 from andy。
我的设置文件位于 myproject / config / settings / local.py 中。
转到:窗口 - &gt;偏好设置 - &gt; PyDev-&gt;交互式控制台 - &gt;初始命令 并将第一行替换为:
import os; os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings.local'; import django
if '1.10' in django.get_version():
django.setup()