Opened 4 years ago
Closed 4 years ago
#31849 closed Bug (wontfix)
django-admin startproject - Fails to create files after encountering CommandError
Reported by: | iamdirk | Owned by: | nobody |
---|---|---|---|
Component: | Core (Management commands) | Version: | 3.0 |
Severity: | Normal | Keywords: | django-admin, startproject, CommandError, file creation, settings.py, asgi.py, Poetry |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Ubuntu 20.04 LTS, Python 3.8.3, Django 3.0.8, Poetry setup VENV
Inside a poetry generated virtual environment with only the following dependencies and their required dependencies:
[tool.poetry.dependencies] python = "^3.8" django = "~3.0"
I have a poetry initialized project setup, which has generated the following structure.
(devenv-demo-Iq-p0dca-py3.8) d@devpad:~/development/devenv_demo$ find . . ./poetry.lock ./pyproject.toml ./tests ./tests/__init__.py ./tests/test_devenv_demo.py ./devenv_demo ./devenv_demo/__init__.py ./README.rst
The only overlapping file is inside our devenv_demo directory:
__init__.py
Which contains a single line of text:
__version__ = '0.1.0'
Upon running the following command we run into CommandError:
(devenv-demo-Iq-p0dca-py3.8) d@devpad:~/development/devenv_demo$ django-admin startproject devenv_demo . CommandError: /home/d/development/devenv_demo/devenv_demo/__init__.py already exists. Overlaying a project into an existing directory won't replace conflicting files.
This still causes some of the template files to be created by startproject:
(devenv-demo-Iq-p0dca-py3.8) d@devpad:~/development/devenv_demo$ find . . ./manage.py ./poetry.lock ./pyproject.toml ./tests ./tests/__init__.py ./tests/test_devenv_demo.py ./devenv_demo ./devenv_demo/urls.py ./devenv_demo/wsgi.py ./devenv_demo/__init__.py ./README.rst
However as it encounters the overlapping file it fails and stops creating files since we are still missing:
./devenv_demo/settings.py ./devenv_demo/asgi.py
According to: https://docs.djangoproject.com/en/3.0/intro/tutorial01/
Removing the conflicting file ensures complete normal functionality of 'django-admin startproject'.
Change History (2)
comment:1 by , 4 years ago
Description: | modified (diff) |
---|
comment:2 by , 4 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Summary: | django-admin startproject - Fails to create files after encountering CommandErrror → django-admin startproject - Fails to create files after encountering CommandError |
As far as I'm aware, a fast failure is an expected behavior in this case. We treat already existing files as a error, so there is no point in creating remaining files.