2014-01-22 60 views
6

我可以從命令行打開交互式shell,而不是從Eclipse內部的PyDev中打開。點擊進入Django --> Shell with django environment我得到以下輸出:在PyDev中獲得交互式Django shell

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

你設置你的manage.py&settings.py中項目屬性 - > PyDev-Django? –

+0

是的。或者至少有一些事情 - 當我檢查時他們都被設置了。 –

回答

9

setup_environ已在Django 1.6中棄用。請參閱here

據我所知,PyDev已經將這種啓動Django shell的方法硬編碼到右鍵項目 - >「使用Django環境的shell」菜單項中。這是一個PyDev需要解決的問題(希望通過簡化它們在這個命令下做的任何事情來簡化「python manage.py shell」!)我不相信他們的菜單命令目前調用manage.py,它是爲什麼其他答案不適合你。

選項1 作爲哈克解決方法,「從django.conf導入設置; settings.configure()」添加到在窗口 - >首選項 - > PyDev->交互式控制檯初始解釋命令。你仍然會看到這個錯誤,但至少你會有你的設置。

選項2 在窗口 - >首選項 - > Interpreter->環境選項卡,添加環境變量「DJANGO_SETTINGS_MODULE」使用Python點綴路徑的​​設置文件(排除末尾的「的.py」)。

+0

我有同樣的問題。我已經嘗試了選項2,但沒有任何運氣,但選項1做到了這一點。 –

+0

我使用的是Neon和Django 1.10。當我嘗試選項1時,我看到霓虹燈測試版的方式無法正確檢測到1.10。我添加 「」 「 如果在django.get_version '1.10'(): \t從django.core.wsgi進口get_wsgi_application \t申請= get_wsgi_application() 」「」 向該beggining。但是現在我得到了「django.core.exceptions.ImproperlyConfigured:SECRET_KEY設置不能爲空。」 – pedrovgp

0

爲了獲得最新的答案,這對Django 1.8和Eclipse Luna的工作很好。

0

對於Django 1.10和Eclipse Neon。 正在關注Option 1 from andy

我的設置文件是myproject/config/settings/local.py

轉到:窗口 - >首選項 - > PyDev->互動控制檯 - >初始命令 和替換的第一行:

import os; os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings.local'; import django 
if '1.10' in django.get_version(): 
    django.setup()