2016-07-25 75 views
0

在PyCharms中设置我的django项目时,我无法为django配置python shell。我的项目结构如下:PyCharm - Django设置在运行配置中得到了尊重,但不在python控制台中

- mysite_root 
    - deployment 
     - ...ansible files 
    - mysite 
     - __init__.py 
     - manage.py 
     - mysite 
      - __init__.py 
      - settings.py 
      - local_dev_settings.py 
     - app1 
      - __init__.py 
      - ...other files 
     - app2 
      - __init__.py 
      - ...other files 

的来源根设置为mysite_root/mysite 我运行/调试配置具有环境变量DJANGO_SETTINGS_MODULE=mysite.local_dev_settings &它完美的作品。 中项目设置Language & Frameworks --> Django下的配置如下:

- Django project root -- <path to mysite_root/mysite> 
- Settings -- mysite/local_dev_settings.py 
- Manage script -- manage.py 
- Environment variables -- DJANGO_SETTINGS_MODULE=mysite.local_dev_settings 

现在,虽然通过工具启动的Python控制台或Manage.py任务,我得到这个错误信息:

Traceback (most recent call last): 
    File "/Users/utkarsh/.venvs/mysite/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2885, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-4578708c9793>", line 5, in <module> 
    if 'setup' in dir(django): django.setup() 
    File "/Users/utkarsh/.venvs/mysite/lib/python3.5/site-packages/django/__init__.py", line 17, in setup 
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) 
    File "/Users/utkarsh/.venvs/mysite/lib/python3.5/site-packages/django/conf/__init__.py", line 55, in __getattr__ 
    self._setup(name) 
    File "/Users/utkarsh/.venvs/mysite/lib/python3.5/site-packages/django/conf/__init__.py", line 43, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/Users/utkarsh/.venvs/mysite/lib/python3.5/site-packages/django/conf/__init__.py", line 99, in __init__ 
    mod = importlib.import_module(self.SETTINGS_MODULE) 
    File "/Users/utkarsh/.venvs/mysite/lib/python3.5/importlib/__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked 
ImportError: No module named 'mysite.local_dev_settings' 

编辑:找到问题的解决方案 请参阅下面的答案以解决此问题。

+0

我想我可能误解了你的问题......在同一个对话框中,我在回答中有一个环境变量部分,尝试在那里设置你的设置模块(添加一个名为DJANGO_SETTINGS_MODULE的env变量并设置到你的设置) – Sayse

+1

只是想通了。问题是Content&Sources根目录被包含,因此'mysite_root/mysite'出现在'mysire_root/mysite/mysite'之前,因为pycharm在加载设置时失败了,即使它也应该查看后一个包。 感谢您的帮助。 – Utkarsh

+0

不用担心,您应该考虑为自己的问题添加答案,这可能有助于未来的读者 – Sayse

回答

1

自己找到了决议。

的问题是,根据建立,执行,部署 - >控制台 - >Django的控制台两个内容&源根被列入&因此mysite_root/mysitemysire_root/mysite/mysite由于其PyCharm未能加载设置来之前,即使它也应该在后一个包中查看。一旦禁用选项Add Contents root to PYTHONPATH,一切都开始正常工作。 :)

相关问题