inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

FastAPI·Services·Scheduler 코드 구조 둘러보기

섹션2 질문이요

해결된 질문

65

구구구구

작성한 질문수 5

1

http://localhost:8000/docs#/

여기는 python run.py 실행할 때만 접속할 수 있는건가요?

접속은 되는데 run.py 하면 " SUPABASE_SERVICE_ROLE_KEY 미설정 - anon 키 사용 중. RLS가 켜져 있으면 쓰기가 차단될 수 있습니다. " 이게 계속 떠요.


https://supabase.com/에서 SQL Editor에 마지막줄 DISABLE도 추가했는데도 계속 뜨네요

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO anon, authenticated, service_role;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO anon, authenticated, service_role;
ALTER TABLE economic_and_stock_data DISABLE ROW LEVEL SECURITY;


그리고 강의에선 함수에서 Ctrl + 클릭하면 이동된다는데 전 이동이 안돼요...ㅠ

python 머신러닝 aws FastAPI 퀀트 cloud-computing claude

답변 2

0

치알남 cheatkeyman

세 가지 모두 답 드릴게요.

1. localhost:8000/docspython run.py 으로 서버가 켜져 있을 때만 열립니다.
그 페이지는 인터넷에 있는 사이트가 아니라, 여러분 컴퓨터에서 실행 중인 FastAPI 서버가 직접 띄워 주는 화면(Swagger UI)입니다. 터미널을 닫거나 Ctrl+C 로 서버를 끄면 접속이 안 되는 게 정상입니다. 그리고 지금 접속이 된다는 건 서버가 끝까지 정상 기동됐다는 뜻이니, 지난번 42501 에러는 해결된 겁니다.

2. 그 문구는 에러가 아니라 안내라서 SQL 을 아무리 실행해도 계속 뜹니다.
SQL 은 Supabase 데이터베이스 쪽을 바꾸는 것이고, 이 문구는 내 컴퓨터의 .envSUPABASE_SERVICE_ROLE_KEY 가 비어 있으면 무조건 출력됩니다. 둘은 서로 관계가 없습니다. 강의 기본 구성(anon 키 + RLS 끄기)에서는 항상 뜨는 게 맞고, 무시하셔도 됩니다.

다만 SQL 에서 DISABLE ROW LEVEL SECURITYeconomic_and_stock_data 한 테이블에만 넣으셨는데, 나중에 추천 종목이나 토큰을 저장할 때 다른 테이블에서 같은 42501 에러가 납니다. sql/errorfix.sql 파일을 통째로 복사해 새 쿼리창에 붙여넣고 Run 한 번 더 해 주세요. 테이블 9개가 한 번에 처리되고 여러 번 실행해도 안전합니다. 아래 쿼리로 모든 테이블의 rowsecurityfalse 인지 확인하면 끝입니다.

select tablename, rowsecurity from pg_tables where schemaname = 'public';

3. Ctrl+클릭이 안 되는 건 VS Code 가 아직 "이 프로젝트의 파이썬"을 모르기 때문인 경우가 대부분입니다. 순서대로 확인해 보세요.

  1. 왼쪽 확장(Extensions) 탭에서 PythonPylance 가 설치돼 있는지 확인합니다. 없으면 설치하고 VS Code 를 재시작합니다.

  2. File → Open Folderbanbu-stocktrading-final 폴더 자체를 엽니다. 파일 하나만 열거나 상위 폴더(Desktop)를 열면 from app.services ... 같은 import 를 못 찾아서 이동이 안 됩니다.

  3. Ctrl+Shift+PPython: Select Interpreterrun.py 를 실행하는 파이썬을 고릅니다. 지난번 에러 로그 경로로 보면 C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\python.exe 입니다. 오른쪽 아래 상태바에 Python 3.12.x 가 표시되면 된 겁니다.

  4. 몇 초 기다렸다가(상태바에서 Pylance 분석이 끝나면) 함수 이름 위에서 Ctrl+클릭 또는 커서를 올리고 F12 를 눌러 보세요.

그래도 안 되면 import 줄에 노란 물결 밑줄이 있는지, 상태바 오른쪽 아래에 Python 버전이 보이는지 스크린샷을 올려 주시면 바로 봐 드리겠습니다.


추가로 궁금한 부분이 있으시다면 또 편하게 문의 주세요~

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 구구구구님.

질문하신 내용은 아래 기존 답변들과 유사합니다.

http://localhost:8000/docs는 FastAPI 서버가 실행 중일 때만 접속할 수 있습니다. 따라서 터미널에서 python run.py를 실행한 상태로 접속해야 하며, 서버를 종료하면 페이지도 접속할 수 없습니다.

현재 표시되는 경고는 다음 의미입니다.

SUPABASE_SERVICE_ROLE_KEY 미설정 - anon 키 사용 중

즉, SUPABASE_SERVICE_ROLE_KEY 환경 변수가 설정되지 않아 anon key를 사용하고 있다는 뜻입니다. 이는 단순 경고일 수 있지만, Supabase에서 RLS가 활성화된 테이블에 데이터를 쓰는 경우 실제로 42501 권한 오류가 발생할 수 있습니다.

먼저 .env 파일에 Supabase의 Service Role Key를 설정했는지 확인해 주세요.

SUPABASE_SERVICE_ROLE_KEY=Supabase에서 발급받은 service_role_key

주의할 점은 anon key가 아니라 Supabase 대시보드의 Project Settings → API → service_role key를 사용해야 한다는 것입니다. 키를 수정한 뒤에는 실행 중인 run.py를 반드시 종료하고 다시 실행해야 환경 변수가 반영됩니다.

RLS를 비활성화하는 방법을 사용한다면 다음처럼 실제 사용하는 모든 테이블에 적용해야 합니다.

ALTER TABLE economic_and_stock_data DISABLE ROW LEVEL SECURITY;

다만 RLS를 비활성화했는데도 경고 문구가 계속 출력되는 것은 정상일 수 있습니다. 해당 문구는 테이블의 RLS 상태를 확인한 결과가 아니라, SUPABASE_SERVICE_ROLE_KEY 환경 변수가 없어서 anon key로 대체했다는 애플리케이션 로그이기 때문입니다. 경고 자체를 없애려면 Service Role Key를 .env에 설정해야 합니다.

또한 아래 ALTER DEFAULT PRIVILEGES 명령은 앞으로 새로 생성될 테이블의 기본 권한을 설정하는 명령이며, 기존 테이블의 RLS를 해제하지는 않습니다. 따라서 기존 테이블은 각각 DISABLE ROW LEVEL SECURITY를 실행하거나 Service Role Key를 사용해야 합니다.

함수에서 Ctrl+클릭으로 이동되지 않는 문제는 Cursor의 Python 분석 기능이 프로젝트를 제대로 인식하지 못할 때 주로 발생합니다. Cursor에서 프로젝트의 최상위 폴더를 열고, Python 확장 및 Pylance가 설치되어 있는지 확인한 뒤 Python: Select Interpreter에서 현재 프로젝트의 가상환경을 선택해 보세요. 그래도 이동되지 않는다면 Cursor를 재시작하거나 명령 팔레트에서 인덱스를 다시 생성해 보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

검색 대상 종목 선정

1

56

2

llm_decision_logs 미적재 문의

1

42

2

연동 문제

1

50

2

5-21 질문이요!

1

67

3

매수 실행 시점 관련

1

41

1

Opus/Sonnet 버전 관련 문의

1

58

2

섹션1.9 질문입니다!

1

86

3

Kaggle 노트북(predict.ipynb) 관련

1

61

2

git bash .env

1

64

1

알파벤티지 sleep(5) 관련 문의

1

75

2

실전 계좌에서 운영하고 계신 분 계신가요?

1

72

2

클로드

1

66

2

pip install -r requirements.txt

0

68

2

명령 프롬프트

0

72

2

slack 알림 연동 강의 관련

1

82

2

supabase_key 관련

1

92

3

python run.py 실행시 에러 문제

1

103

2

커서창

1

73

2

cursor 환경

1

74

2

개발 환경 준비와 프로젝트 구조 강의 관련

1

65

2

저장 공간

1

73

2

colab 코드 실행시 error

1

65

2

llm_decision_logs 저장 실패(실적 컬럼 불일치)를 어떻게 해결할까요?

2

107

4

kaggle notebook에 service key 설정이 누락된 것 같습니다

1

84

2