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'.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top