Обновление Django проекта с sqlite до Postgres: не указан manage.py, ModuleNotFoundError - PullRequest
1 голос
/ 02 марта 2020

В моем первом Django проекте я начал с базы данных sqlite, и теперь я переключаюсь на Postgres. Первой частью кода, который я написал и протестировал, была команда управления импортом для чтения записей из файла и создания записей базы данных для них, и это прекрасно работает. Поэтому, чтобы начать вносить изменения, я обновил информацию базы данных по умолчанию в settings.py и запустил миграции для нее следующим образом:

python3 manage.py migrate --database=default

Я вижу правильную структуру таблицы при просмотре новой базы данных в pgAdmin 4 (просто пока еще не заполнено ни одной строки) - и максимальные значения поля, кажется, все соответствуют тому, что есть в модели - ура! Я также добавил некоторый код для получения ENV_ROLE и пароля базы данных из переменных среды, как рекомендовано здесь: https://ultimatedjango.com/learn-django/lessons/handling-sensitive-keys/

Далее я запускаю команду управления импортом и проблема : я могу успешно запустить это из терминала, но когда я пытаюсь запустить его из PyCharm, я получаю ошибки, которых я никогда не видел при запуске с использованием базы данных sqlite:

    No manage.py file specified in Settings->Django Support
/usr/local/bin/python3.8 /Library/Frameworks/Python.framework/Versions/3.8/bin/django-admin.py importgedcom Test_tree.ged
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 224, in fetch_command
    app_name = commands[subcommand]
KeyError: 'importgedcom'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/bin/django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 231, in fetch_command
    settings.INSTALLED_APPS
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/__init__.py", line 76, in __getattr__
    self._setup(name)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/__init__.py", line 63, in _setup
    self._wrapped = Settings(settings_module)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/__init__.py", line 142, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/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 'mysite.settings'

Process finished with exit code 1

Я вижу несколько там есть интересные биты, вероятно, множественные / разные проблемы в моей установке, запущенные из PyCharm против терминала:

  • No manage.py file specified in Settings->Django Support. Моя конфигурация для команды управления всегда включала это: DJANGO_SETTINGS_MODULE=mysite.settings; Я сделал одно обновление конфигурации, просто добавив ENV_ROLE=development

  • ModuleNotFoundError: No module named 'mysite.settings'. Я не переименовал проект или приложение, только обновил settings.py (база данных по умолчанию и логи среды c)

ОБНОВЛЕНИЕ: я могу запустить это до завершение при переходе в режиме отладки, я вижу ошибку только тогда, когда я нажимаю зеленую кнопку воспроизведения PyCharm, чтобы запустить его.

Эти ошибки происходят еще до того, как код что-либо делает (я не делаю это для печати операторов в методах add_arguments или handle), поэтому есть некоторые проблемы с настройкой. Любой совет о том, что делать / что делать дальше, или я могу дать больше информации, которая поможет определить следующие шаги?

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