简体   繁体   English

奇怪的错误 - python manage.py runserver(线程django-main-thread中的异常)

[英]Weird error with - python manage.py runserver (Exception in thread django-main-thread)

I am new to Python (to programming, generally), and I hit a brick wall: I am learning from Python Crash Course and I am cloning lessons.我是 Python 的新手(通常是编程),我碰壁了:我正在学习Python 速成课程,我正在克隆课程。 The third project in the book deals with Django.书中的第三个项目涉及 Django。 It says how you can create a website for keeping logs.它说明了如何创建一个网站来保存日志。 I am creating, in parallel, another site, following the same exact instructions.我正在按照相同的确切说明同时创建另一个站点。 I got through alright until I got to the point where, trying to run my own project, I cannot run the server with python manage.py runserver .我顺利通过,直到我尝试运行我自己的项目,我无法使用python manage.py runserver运行服务器。

  1. when I run this for the original project, it works perfectly.当我为原始项目运行它时,它运行良好。 When I stop the server (Ctrl+c) and run the command for my project, I get an error.当我停止服务器 (Ctrl+c) 并为我的项目运行命令时,出现错误。
  2. before I edited certain files, .py files , that is, the command worked for my project, also.在我编辑某些文件之前, .py 文件,也就是说,该命令也适用于我的项目。 I didn't install or uninstall anything.我没有安装或卸载任何东西。 I traced back and reversed every change I've made since the last time the command worked, but I couldn't get rid of the error.我回溯并撤消了自上次命令运行以来所做的所有更改,但我无法摆脱错误。

I am working with Python 3.8.3我正在使用 Python 3.8.3

IDE: PyCharm IDE:PyCharm

I have Django 3.0.7我有 Django 3.0.7

I work in totally separated folders, I run everything in virtual environment (which I start using the command venv\Scripts\activate我在完全分开的文件夹中工作,我在虚拟环境中运行所有东西(我开始使用命令venv\Scripts\activate

OS: Windows 10操作系统:Windows 10

Now, for the project where the runserver command works I get this:现在,对于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.

For the project that the runserver command doesn't work:对于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>'

I've found something where there were errors with the runserver command, but none were satisfying.我发现runserver命令存在错误,但没有一个令人满意。 If this is a duplicate, I do apologise, but I'm pretty sure it isn't.如果这是重复的,我会道歉,但我很确定它不是。 If there's a need for other files and snippets of code, I'll put here everything.如果需要其他文件和代码片段,我会把所有东西都放在这里。 Thank you so much.太感谢了。

Higher in traceback, there is a line回溯更高,有一条线

ModuleNotFoundError: No module named 'webjournalsusers'

If you try and look higher then that, there are several lines which mention INSTALLED_APPS and their "population" (eg installing them).如果您尝试查看更高的内容,则会有几行提到INSTALLED_APPS及其“人口”(例如安装它们)。 So, what happens is: Django tries to install each app, but when it sees app with name webjournalsusers , it can't import it.所以,会发生什么: Django 尝试安装每个应用程序,但是当它看到名为webjournalsusers的应用程序时,它无法导入它。

The same error will happen if you will try to add an app as random characters in clean django project.如果您尝试在干净的 django 项目中将应用程序添加为随机字符,则会发生相同的错误。

So, you either wrote the name of the app in INSTALLED_APPS wrong, or the app doesn't exist in the directory django is searching for it (usually core directory of the project, if this app is written by you, and not installed by pip).所以,你要么在 INSTALLED_APPS 中写错了应用程序的名称,要么应用程序在 django 正在搜索的目录中不存在(通常是项目的核心目录,如果这个应用程序是你写的,而不是 pip 安装的) )。

U just need to type this in cmd(visual studio code or ordinary cmd): pip install django-cors-headers.你只需要在 cmd(visual studio 代码或普通 cmd)中输入这个:pip install django-cors-headers。

This solved the problem for me.这为我解决了这个问题。 :) :)

In "apps.py": class ErpConfig(AppConfig):在“apps.py”中:class ErpConfig(AppConfig):

default = False

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM