django-admin "ModuleNotFoundError:" после изменения структуры настроек для разработки и производства - PullRequest
0 голосов
/ 10 декабря 2018

Фон

Я недавно начал изучать Python Django.Я прочитал, что было бы неплохо иметь отдельный файл настроек для разных сред.Следовательно, я попытался реализовать нечто подобное описанному в разделе «Простая организация пакетов для сред» этой вики: https://code.djangoproject.com/wiki/SplitSettings

Проблема

Когда яТеперь, выполнив команду django-admin, я получаю ModuleNotFoundError.Ниже я скопировал и вставил журнал ошибок для "django-admin check --deploy"."python manage.py runserver --settings = CollegeComp.settings.development" работает нормально.

Вещи, которые я пробовал

Я читал, что мне, возможно, придетсясбросить переменную окружения DJANGO_SETTINGS_MODULE в моей виртуальной среде.Я ввел «set DJANGO_SETTINGS_MODULE = CollegeComp.settings.development», но все равно получаю ту же ошибку.

Путь Python

Когда я набираю в оболочке следующее с активированной виртуальной средой:

import sys
print(sys.path)

Я получаю следующее:

['C:\\Users\\myusername\\Documents\\UdemyDjango\\MyPersonalProject\\College-Project-master\\CollegeComp', 
'C:\\Users\\myusername\\Anaconda3\\envs\\MyDjangoEnv\\python37.zip', 
'C:\\Users\\myusername\\Anaconda3\\envs\\MyDjangoEnv\\DLLs',
'C:\\Users\\myusername\\Anaconda3\\envs\\MyDjangoEnv\\lib',
'C:\\Users\\myusername\\Anaconda3\\envs\\MyDjangoEnv',
'C:\\Users\\myusername\\Anaconda3\\envs\\MyDjangoEnv\\lib\\site-packages']

Журнал ошибок

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\Scripts\django-admin-script.py", line 10, in <module>
    sys.exit(execute_from_command_line())
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\core\management\base.py", line 329, in run_from_argv
    connections.close_all()
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\db\utils.py", line 220, in close_all
    for alias in self:
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\db\utils.py", line 214, in __iter__
    return iter(self.databases)
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\utils\functional.py", line 37, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\db\utils.py", line 147, in databases
    self._databases = settings.DATABASES
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\conf\__init__.py", line 57, in __getattr__
    self._setup(name)
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\conf\__init__.py", line 44, in _setup
    self._wrapped = Settings(settings_module)
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\site-packages\django\conf\__init__.py", line 107, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "C:\Users\myusername\Anaconda3\envs\MyDjangoEnv\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'CollegeComp'

Каталог моего проекта

CollegeComp
|-CollegeComp
  |-settings
    |-__init__.py
    |-base.py     
    |-development.py 
    |-local.py 
    |-production.py
  |-__init__.py 
  |-urls.py  
  |-wsgi.py
|-<my apps>     

base.py

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR =  os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
<rest of standard Django settings.py code>

development.py

from CollegeComp.settings.base import *

#Override base.py settings here
DEBUG = True


#Import local setting file
try:
    from CollegeComp.settings.local import *
except:
    pass

local.py

from CollegeComp.settings.base import *

#Override base settings here

DEBUG = True

производство.py

from CollegeComp.settings.base import *

#Override base settings here

DEBUG = False


#Import local setting file
try:
    from CollegeComp.settings.local import *
except:
    pass

Информация о системе

Версия Django 2.1 Операционная система: Windows 10 Версия Python: 3.7.0

Яблагодарен за любую помощь, которую я могу получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...