FileNotFoundError, когда файл явно существует
Я пытаюсь запустить сервер Django в dev-среде (на Debian). Я не хочу хранить мой Django SECRET_KEY
в самом файле настроек, поэтому он хранится в директории /home/admin/keys
(сервер запускается от пользователя admin).
В моем settings.py
я добавил следующее:
_secret_key_path = '/home/admin/keys/django-secret-key.txt'
with open(_secret_key_path, 'r') as f:
_secret_key = f.read()
SECRET_KEY = _secret_key
Когда я пытаюсь запустить интерактивную оболочку Django (python manage.py shell
), я получаю следующую ошибку:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/admin/.local/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/home/admin/.local/lib/python3.7/site-packages/django/core/management/__init__.py", line 363, in execute
settings.INSTALLED_APPS
File "/home/admin/.local/lib/python3.7/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/home/admin/.local/lib/python3.7/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/home/admin/.local/lib/python3.7/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python3.7/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 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/admin/repos/server/app/settings.py", line 37, in <module>
with open(_secret_key_path) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/admin/keys/django-secret-key.txt'
Когда я запускаю ls /home/admin/keys
, я получаю следующее:
django-secret-key.txt
Мне кажется, что я упускаю что-то очень очевидное, но я потратил слишком много времени, пытаясь разобраться в этом безрезультатно. Файл существует; почему я получаю ошибку FileNotFoundError?