인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Seunggu Kang님의 프로필 이미지

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

3.4.1 Pinecone에 UpstageEmbedding을 활용한 데이터 적재

PineconeVectorStore import 에러

해결된 질문

작성

·

116

·

수정됨

0

from langchain_pinecone import PineconeVectorStore

를 실행하면

ImportError: cannot import name 'PineconeVectorStore' from partially initialized module 'langchain_pinecone' (most likely due to a circular import)

 

라는 에러가 뜨면서 뭘 해도 안됩니다.

어떻게 해야 해결 가능할까요?? 아직까진 인터넷에 정보가 많이 없네요.. chat GPT 도 해결을 못해주고요 .. 하도 답답해서 여기 문의 드립니다.

 

임포트한 패키지들 :

__import__('pysqlite3')
import sys

sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')

from dotenv import load_dotenv
from langchain_upstage import UpstageEmbeddings

from langchain_community.document_loaders import Docx2txtLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_pinecone import PineconeVectorStore

파이썬 버전

3.10.15

답변 3

1

Seunggu Kang님의 프로필 이미지
Seunggu Kang
질문자

debug를 하다보니 from langchain_pinecone import PineconeVectorStore 이 부분을 실행할 때 전체 파일을 다시 진행하는 것을 보고, 파일 이름에 문제가 있다는 것을 깨달았습니다. 파일 이름을 pinecone.py라고 하는 바람에 현재 실행중인 파일을 다시 들어가고 circular import 에러가 났었네요.. 파일 이름을 바꾸고 실행하니 잘 됩니다. 해결했습니다. 감사합니다.

강병진님의 프로필 이미지
강병진
지식공유자

해결방법을 공유해주셔서 감사합니다! 다른분들도 겪으실 수 있는 문제일거라서요~ 강의 계속 들으시면서 에러를 마주하시면 질문으로 올려주세요! 확인하는대로 답변 드리겠습니다

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! 올려주신 import문을 로컬에서 테스트해보니 정상적으로 잘 돌아가서 확인이 어렵습니다. 전체 코드를 공유해주실 수 있을까요?

0

인프런 AI 인턴님의 프로필 이미지

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

질문 주신 내용은 ImportError 중에서도 흔히 발생할 수 있는 “circular import”와 관련이 있는 문제로 보입니다. 이는 보통 두 모듈이 서로를 참조하는 경우 발생할 수 있으며, 이럴 때는 주로 import 순서나 구조를 변경해서 해결할 수 있습니다. 아래에 몇 가지 해결책을 제시합니다.

문제 해결을 위한 체크리스트

  1. 모듈 인터페이스 확인:

    • langchain_pinecone 모듈이 내부적으로 다른 모듈을 불러오는 과정에서 문제가 발생할 수 있습니다. 다른 모듈로부터 불러오는 순서를 조정해 보세요.
  2. 최신 버전 확인 및 설치:

    • 모든 패키지가 최신 버전으로 설치되어 있는지 확인하세요. 동일한 버전의 모든 종속성을 고정하려면 requirements.txt를 사용하여 일관된 환경을 설정하는 것이 중요합니다. pip install --upgrade로 업데이트를 진행하세요.
  3. 코드의 재배치:

    • Import문을 함수나 클래스 내부로 옮겨보세요. 이는 순환 참조 문제를 해결하는 데 도움이 될 수 있습니다.
  4. 모듈명 충돌 문제 해결:

    • 사용 중인 모듈과 같은 이름의 파일이나 모듈이 프로젝트 내에 있는지 확인하고, 없다면 다른 환경을 시도해 보세요.

아래와 유사한 문제를 겪은 다른 질문들을 제공하며, 추가적인 해결 지침을 찾을 수 있습니다:

문제가 계속 개선되지 않으면, 각각 단계에서 오류 로그를 다시 검토하여 추가적인 정보나 다른 오류 메시지가 있는지 확인해보세요. 라이브러리 버전이나 환경 설정에서 발생하는 경우가 많아 환경을 재구성하여 시도해보시길 권장합니다.

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