Issue
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. The third project in the book deals with 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
.
- 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.
- before I edited certain files, .py files, that is, the command worked for my project, also. 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
IDE: PyCharm
I have 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
OS: Windows 10
Now, for the project where the runserver
command works I get this:
(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:
(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. 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.
Solution
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" (e.g. installing them). So, what happens is: Django tries to install each app, but when it sees app with name webjournalsusers
, it can't import it.
The same error will happen if you will try to add an app as random characters in clean django project.
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).
Answered By - Mikhail Khromov
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.