환경변수 로딩이 안됩니다 ㅠㅠ
1042
5 asked
안녕하세요 장고 환경변수 로딩하는 부분, 몇번 돌려보면서 확인했는데 계속 에러가 나오네요. 혹시 어떤게 잘못되었을지 알 수 있을까요.. 도와주세요..
(venv) C:\Users\user\Documents\django_chat>python manage.py shell
Python 3.10.9 | packaged by Anaconda, Inc. | (main, Mar 1 2023, 18:18:15) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.conf import settings
>>> settings.OPENAI_API_KEY
Traceback (most recent call last):
File "C:\Users\user\Documents\django_chat\venv\lib\site-packages\environ\environ.py", line 387, in get_value
value = self.ENVIRON[var_name]
File "C:\Users\user\anaconda3\lib\os.py", line 680, in getitem
raise KeyError(key) from None
KeyError: 'OPENAI_API_KEY'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Users\user\Documents\django_chat\venv\lib\site-packages\django\conf\__init__.py", line 102, in getattr
self._setup(name)
File "C:\Users\user\Documents\django_chat\venv\lib\site-packages\django\conf\__init__.py", line 89, in _setup
self._wrapped = Settings(settings_module)
File "C:\Users\user\Documents\django_chat\venv\lib\site-packages\django\conf\__init__.py", line 217, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Users\user\anaconda3\lib\importlib\__init__.py", line 126, in import_module
return bootstrap.gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in gcdimport
File "<frozen importlib._bootstrap>", line 1027, in findand_load
File "<frozen importlib._bootstrap>", line 1006, in findand_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in loadunlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in callwith_frames_removed
File "C:\Users\user\Documents\django_chat\mysite\settings.py", line 134, in <module>
OPENAI_API_KEY=env.str("OPENAI_API_KEY")
File "C:\Users\user\Documents\django_chat\venv\lib\site-packages\environ\environ.py", line 212, in str
value = self.get_value(var, cast=str, default=default)
File "C:\Users\user\Documents\django_chat\venv\lib\site-packages\environ\environ.py", line 391, in get_value
raise ImproperlyConfigured(error_msg) from exc
django.core.exceptions.ImproperlyConfigured: Set the OPENAI_API_KEY environment variable
>>>
Answer 2
0
보내주신 프로젝트 압축 파일을 살펴보니, .env 파일을 생성하지 않으신 것으로 보여집니다.
manage.py 파일이 있는 경로에 마침표로 시작하는 .env 파일을 생성하셨다면, 파일 저장을 아직 하지 않으셨을 수도 있구요. 아래 스크린샷에서 .env 파일 예시를 확인하실 수 있습니다.

확인해보시고, 댓글 부탁드립니다.
0
안녕하세요.
지금 프로젝트 폴더를 압축해서 me@pyhub.kr 메일로 보내주시겠어요?
1
지정 경로에 .env 파일이 없거나, .env 파일을 로딩하는 코드가 settings.py 에 없거나, 경로 지정이 잘 못 되었거나, 그 코드에 오류가 있거나 정도가 있을 수 있습니다.
프로젝트 젠처 코드를 보내주시면 확인해드리겠습니다. :-)
0
잘 해결되어서 다행입니다.
BASE_DIR은 manage.py 파일이 있는 프로젝트 ROOT 폴더 경로이구요.
21 라인에서 BASE_DIR 밑에 .env 파일이 있는 것으로 예상했기 때문입니다.
그 경로에 파일이 있다면 파일을 읽어서 환경변수로서 로딩하고, 별 다른 액션을 취하지 않습니다.
다른 경로에 .env 파일이 있어도, 현재 코드에서는 다른 경로의 .env 파일을 로딩하는 코드가 없습니다.

그리고, 참고로 venv 폴더는 가상환경 폴더로서 그 안에는 가상환경 기본 파일 외에 다른 파일들(설정파일 등)을 절대 만들지 않습니다. 몇몇 강의들을 보면 가상환경 폴더 안에서 개발 소스코드를 두는 경우도 있는 데, 좋지 못한 접근입니다.
가상환경 폴더는 그 폴더 자체를 git 버전관리대상에서 제외하는 경우가 대부분입니다.
또 살펴보시고 질문 많이 남겨주세요.
화이팅입니다. :-)
작업형 1 유형 부분
0
9
1
수강평 이벤트
0
15
2
작업형 1 (삭제예정, 구 버전)
0
28
2
강의노트는 어디있나요?
0
15
1
노션 학습 자료 권한 요청
0
15
1
수강기간 연장 문의드립니다.
0
20
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
20
3
part2강의 문의사항입니다.
0
17
2
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
26
2
코드를 첨부해야하는 이유가 있나요?
0
20
2
소리가 겹쳐서 들려요
0
19
2
데스크톱과 노트북 연결
0
26
1
dict, zip
0
21
2
노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.
0
27
4
6-6 실습 문의
0
23
2
5장에서 ASGI로 구동하기 중 daphne 적용 안됨
0
523
4
명령행에서 음성으로 메세지 읽어주기 pygame 오류
0
254
1
OpenAI API 활용목적 실습 진행하는데 오류가나요
0
413
2
웹소켓 통신과 비동기처리 개념에 관해 질문 드립니다~
0
1166
1
브라우저에서 지원하는 Voices의 종류
0
354
1
07/02 강의에서 질문 드립니다.
0
199
1
안녕하세요. 강의 내용을 DRF에도 적용할 수 있을까요?
0
322
1
현재(6/30) 깃헙 코드링크가 not found 뜹니다.
0
390
2

