首页 > 解决方案 > 奇怪的错误 - python manage.py runserver(线程 django-main-thread 中的异常)

问题描述

我是 Python 新手(通常是编程新手),但我碰了壁:我正在学习Python 速成课程,我正在克隆课程。本书中的第三个项目涉及 Django。它说明了如何创建一个网站来保存日志。我正在按照相同的确切说明同时创建另一个站点。我顺利通过,直到我尝试运行我自己的项目,但我无法使用python manage.py runserver.

  1. 当我为原始项目运行它时,它运行良好。当我停止服务器 (Ctrl+c) 并为我的项目运行命令时,出现错误。
  2. 在我编辑某些文件之前,.py 文件,也就是说,该命令也适用于我的项目。我没有安装或卸载任何东西。我回溯并撤消了自上次命令运行以来所做的所有更改,但我无法摆脱错误。

我正在使用 Python 3.8.3

IDE:PyCharm

我有 Django 3.0.7

我在完全分开的文件夹中工作,我在虚拟环境中运行所有东西(我开始使用命令venv\Scripts\activate

操作系统:Windows 10

现在,对于runserver命令起作用的项目,我得到了这个:

(venv) E:\python_projects\learning_log>python manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified some issues:

WARNINGS:
?: (2_0.W001) Your URL pattern 'topics/$' [name='topics'] has a route that contains '(?P<', begins with a '^', or ends w
ith a '$'. This was likely an oversight when migrating to django.urls.path().

System check identified 1 issue (0 silenced).
June 08, 2020 - 19:24:20
Django version 3.0.7, using settings 'learning_log.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

对于runserver命令不起作用的项目:

(wj_env) E:\python_projects\webjournal>python manage.py runserver

Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 76, in raise_last_exception
    raise _exception[1]
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\__init__.py", line 357, in execute
    autoreload.check_errors(django.setup)()
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'webjournalsusers'
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\commands\runserver.py", line 60, in execute
    super().execute(*args, **options)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\commands\runserver.py", line 95, in handle
    self.run(**options)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\core\management\commands\runserver.py", line 102, in run
    autoreload.run_with_reloader(self.inner_run, **options)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 599, in run_with_reloader
    start_django(reloader, main_func, *args, **kwargs)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 584, in start_django
    reloader.run(django_main_thread)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 299, in run
    self.run_loop()
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 305, in run_loop
    next(ticker)
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 345, in tick
    for filepath, mtime in self.snapshot_files():
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 361, in snapshot_files
    for file in self.watched_files():
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 260, in watched_files
    yield from iter_all_python_module_files()
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 105, in iter_all_python_module_files
    return iter_modules_and_files(modules, frozenset(_error_files))
  File "E:\python_projects\webjournal\wj_env\lib\site-packages\django\utils\autoreload.py", line 141, in iter_modules_and_files
    resolved_path = path.resolve(strict=True).absolute()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1177, in resolve
    s = self._flavour.resolve(self, strict=strict)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 200, in resolve
    return self._ext_to_normal(_getfinalpathname(s))
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '<frozen importlib._bootstrap>'

我发现runserver命令有错误,但没有一个令人满意。如果这是重复的,我会道歉,但我很确定它不是。如果需要其他文件和代码片段,我会把所有东西都放在这里。非常感谢。

标签: pythondjangopython-3.x

解决方案


回溯更高,有一条线

ModuleNotFoundError: No module named 'webjournalsusers'

如果您尝试看起来更高,则有几行提到INSTALLED_APPS及其“人口”(例如安装它们)。所以,发生的事情是:Django 尝试安装每个应用程序,但是当它看到带有 name 的应用程序时webjournalsusers,它无法导入它。

如果您尝试在干净的 django 项目中将应用程序添加为随机字符,则会发生相同的错误。

所以,你要么在 INSTALLED_APPS 中写错了应用程序的名称,要么应用程序在 django 正在搜索的目录中不存在(通常是项目的核心目录,如果这个应用程序是你写的,而不是 pip 安装的) )。


推荐阅读