Run manage.py Task Error

来源:3-3 django orm介绍与model设计

赶路人林文

2017-01-03

我在Pycharm 里面运行djangostart中的message, 遇到了No module error。 在网上搜了一下没找到答案,不知道有没有人遇到相同的问题,麻烦解决过的解答一下,先谢谢了! 以下是我的错误信息: 

Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_manage.py", line 41, in <module>
    run_module(manage_file, None, '__main__', True)
  File "/Users/wenlin/anaconda/lib/python3.5/runpy.py", line 196, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/Users/wenlin/anaconda/lib/python3.5/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/Users/wenlin/anaconda/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/wenlin/PycharmProjects/djangostart/manage.py", line 33, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/wenlin/anaconda/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/Users/wenlin/anaconda/lib/python3.5/site-packages/django/core/management/__init__.py", line 341, in execute
    django.setup()
  File "/Users/wenlin/anaconda/lib/python3.5/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/wenlin/anaconda/lib/python3.5/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/Users/wenlin/anaconda/lib/python3.5/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/Users/wenlin/anaconda/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 'message'


写回答

2回答

bobby

2017-01-03

这个问题可以不用这样做, 不知道你看到后面的视频没有,你如果通过pycharm运行的话可以通过将apps目录mark成source root一下, 同时在settings.py中添加sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
, 这些添加都是为了不在这里面添加和import的时候不需要添加apps前缀

1
1
赶路人林文
非常感谢!
2017-01-04
共1条回复

赶路人林文

提问者

2017-01-03

我自己来回答自己的问题吧。

在settings文件中不能只添加message,需要添加 apps.message, 这样Django才能找到APP。这个错误是在Python 3.5 的环境下的,可能2.7不会有,没试过,不太清楚。

错误代码:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'message'
]

正确代码:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'apps.message'
]

lxm1989 同学遇到了一模一样的问题,希望我这个答案也可以解决。试了的话请回答一下。

祝各位学习愉快!

3
3
ywang04
回复
一生至爱乌冬面
可以把你的项目目录结构还有错误信息贴出来 大家一起帮你看看
2017-02-09
共3条回复

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程