Opened 4 years ago
Last modified 4 years ago
#31849 closed Bug
django-admin startproject - Fails to create files after encountering CommandErrror — at Initial Version
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
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 an already the existing init.py it fails and stops creating more 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'.