PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2025/05/06 12:19:42
Name Bard3567
Subject [질문] 파이썬 초보 질문 해도 되나요? (수정됨)
여기에 물어보는게 맞을까 싶긴 한데요
최근에 파이썬 기초 공부를 하고 있습니다.(VScode)
근데 프로젝트 내에 다른 폴더에서 DIY했던 코드를 import해서 쓰려고 했는데
ModuleNotFoundError: No module named 'import할 파일명'가 떴는데 해결이 안되서
오기가 생겨 구글링으로 온갖 방법을 다 찾아보고 있습니다.

핵심 문제는 sys.path가 무슨 수를 써도 바뀌지 않는다는것 같은데요.
물론 다른 폴더에 있는 파일을 그냥 복붙해서 같은 폴더에서 쓰면 되지 않냐라고 할수 있는데.
그것과 상관없이 다른 패키지를 import 못한다는게 상당히 기초적인 문제인거 같아서 여쭤봅니다
작업 폴더에 __init__.py는 만들어 뒀구요.
Run python file 로 돌리는거랑 터미널에 직접 .py 실행코드 쳐서 돌리는것 둘다 똑같이 ModuleNotFoundError가 뜹니다.

증상
ModuleNotFoundError: No module named "~~~"

import sys
print(sys.path)
로 확인했을시
c:Python Practice codeBasicPracticeMission_5(현재 작업 폴더)
에서 바뀌지 않음

실패한 시도들

1.파이썬 설치 폴더에 있는 Lib 폴더 밑에 site-packages 폴더에 custom_path.pth" 넣어두기
내용은 (C:Python Practice code)

2. "Preferences: Open User Settings (JSON)"(settings.json) 에서 코드 설정
"terminal.integrated.env.windows": {"PYTHONPATH" : "${workspaceFolder}"}


3.최상위 폴더 아래에 custom.env 따로 만들고
PYTHONPATH=${workspaceFolder}
코드 넣고
settings.json에서 다음 코드로 연동하기
"python.envFile": "/custom.env"

4.시스템 환경 변수 편집 에서 최상위 폴더 디렉토리 추가하기
(C:Python Practice code)

4-1 변수값 변경하고 다시 시도
변수 값:C:UsersUser이름AppDataLocalProgramsPythonPython313Libsite-packages

5.인터프리터 가상환경에서 실행해보기
python 3.13.3 venv 설치해서 실행




* 그나마 성공했던 것
launch.json에
"env" : {"PYTHONPATH" : "${workspaceFolder}/.."}
코드 추가하고 디버거로 코드 돌리기

이건데.항상 디버거로만 돌릴수는 없고 근본적으로 sys.path를 못 바꾼다는게 많이 걸려서 해결법을 찾고 싶습니다
감사합니다

PS.챗지피티 한테는 이미 수없이 물어봤고 해결이 안되니 원론적인 해답만 되풀이 하더라고요

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
지구사랑
25/05/06 12:30
수정 아이콘
간단한 해결책으로 두 가지를 들 수 있습니다.
1. 윈도우 환경 설정에서 (PATH 설정 변경하듯이) PYTHONPATH를 설정해도 되고,
2. sys.path를 이용하고 싶으면 sys.path.insert(0, '원하는 모듈이 있는 path')를 사용해도 됩니다.
보니까 시도는 하셨는데, 디테일이 아주 조금 모자랐던 듯 싶습니다만.
Bard3567
25/05/06 12:52
수정 아이콘
시스템 환경 설정에서
변수 이름:PYTHONPATH
변수 값:C: Python Practice code
로 설정을 했는데 ""(W비슷한 문자)를 쓸때마다 게시글이 인식을 안하는것 같아요.자꾸 없어지네요.

2.와 같은 비슷한 해결책을 많이 보긴 했습니다만 (sys.path.append({경로}) 같은 방식)
매 코드마다 import전에 일일이 sys.path.이런걸 적어줘야 하는게 비효율적이라 미봉책이라 생각했네요.
답변 감사합니다
지구사랑
25/05/06 13:22
수정 아이콘
1. Path에 공백이 포함되면 전체를 더블 따옴표 즉 "로 감싸야 합니다. 예를 들어 set PYTHONPATH="C:Python Practice Code" 식이죠.
2. sys.path.insert는 파일 첫머리에 한 번 있으면 될 텐데요.
Bard3567
25/05/06 13:45
수정 아이콘
1.조언해주신거 듣고 변수 값: "C:Python Practice code" 로 해봤는데 안되더라구요.

2.실습 파일 하나하나를 실행하는데 파일에 sys.path.insert를 매번 붙이는게 참 귀찮다 생각했는데
짦막한 실습 파일이 아닌 실행 파일 하나가 덩치가 커지고 하위패키지가 많아지는 파일은 꼭 비효율적인것도 아니겠다 생각이 드는군요.
답변 감사합니다
25/05/06 13:05
수정 아이콘
Run as module 옵션으로 실행해보셨나요?
Bard3567
25/05/06 13:49
수정 아이콘
Run as module 옵션이 뭐지 하고 검색해 보다가
-m 넣고 돌려보니 각각 동등한 폴더에서 import해오는 거라서 작동이 잘 안되는데
하위 패키지화 시켜놓고 돌리면 잘되는것 같습니다. 아무래도 잘못된게 하위 패키지를 안 만들고 돌리려한 제가 잘못한것 같네요
답변 감사합니다.
25/05/06 15:15
수정 아이콘
import sys
import subprocess

subprocess.check_call([sys.executable, "-m", "pip", "install", "numpy"]) 이건 어떠세요.
무냐고
25/05/07 17:10
수정 아이콘
혹시나 '1:1 파이썬 초보만'일까 해서 들어와봤는데 아니군요. 크크
좋은 답변 받으시길..
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
180602 [질문] 16인치 노트북 LG vs 삼성 [11] 세라온4762 25/05/15 4762
180601 [질문] 부루스타에 올릴 불판 추천 부탁드립니다. [14] Restar4154 25/05/15 4154
180600 [질문] 쓰로틀 자전거는 보장해주는 보험이 있나요? + 사고문의 [4] 다이어트3594 25/05/14 3594
180599 [질문] 일본 드라마 말고 애니메이션 중에서 기초 회화에 도움이 될만한 게 있을까요? [17] 콩순이3201 25/05/14 3201
180598 [질문] 피지알 게시판에 쇼츠 올리는 법 [2] 로켓2759 25/05/14 2759
180597 [질문] 집에서 보이는 요 벌레는 무엇인가요? [11] 호비브라운4200 25/05/14 4200
180596 [질문] 스카이라이프 위성안테나 셀프 철거 [4] 당근병아리3450 25/05/14 3450
180595 [질문] 곰팡이등 균류가 진짜 치료가 힘든가요? [17] 개가좋아요4073 25/05/14 4073
180594 [질문] 서른 중반 전기기능사 자격증 하나로 취업할 수 있을까요? [26] 블랙리스트5016 25/05/13 5016
180593 [질문] 이스 10 플스5 vs 스위치 [9] Bronx Bombers3158 25/05/13 3158
180592 [질문] 신발 수선 질문드립니다. [5] 스핔스핔2787 25/05/13 2787
180591 [질문] 중국에서 쓸 vpn 추천 부탁드립니다 [8] 잠수족3730 25/05/13 3730
180590 [질문] 주식용 서브컴 견적 부탁드립니다. [7] 워렌버핏2564 25/05/13 2564
180589 [질문] 서울서 창문 오래 열면 집안 먼지가 많이 쌓이나요? [11] 호비브라운2216 25/05/13 2216
180588 [질문] 마이크론 ssd as 문제.. [5] 월터화이트1662 25/05/13 1662
180587 [질문] 향상심, 발전욕이 사라졌습니다. [20] 깃털달린뱀2878 25/05/13 2878
180586 [질문] [NBA] 데니스 로드맨은 왜 [12] 인민 프로듀서3903 25/05/13 3903
180585 [질문] 삼성스토어에서 S25 엣지 언제부터 실물 볼 수 있을까요? [1] 서울3595 25/05/13 3595
180584 [질문] 롤 개막 이벤트전(라인ck) 공약 이행됐나요? [2] 크산테2356 25/05/13 2356
180583 [질문] 아기 쌍커풀 질문 입니다. [7] 윈터3811 25/05/13 3811
180582 [질문] 제주 서귀포시 식당 어디가 좋을까요? [19] 마블러스썬데이3843 25/05/13 3843
180581 [질문] 바이오스 업데이트 후 벽돌이 되었습니다 ㅠㅠ [8] 월터화이트2036 25/05/13 2036
180580 [질문] 자동차보험 관련 문의드립니다.(보험사선택) [2] 달콤한인생2328 25/05/12 2328
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로