Windows环境下LangChain 0.1.2中HuggingFaceInstructEmbeddings运行报错求助
解决Windows下LangChain运行
ModuleNotFoundError: No module named 'pwd'问题 问题背景
Windows系统中使用Python 3.10.0、LangChain 0.1.2及GoogleGenerativeAI时,运行包含HuggingFaceInstructEmbeddings的代码触发pwd模块找不到的错误。原因是langchain_community库的pebblo.py文件导入了仅Linux/Unix系统存在的pwd模块,Windows无此模块。
解决方案
方案1:修改pebblo.py适配Windows
- 找到文件路径:
D:\Program Files\Python310\lib\site-packages\langchain_community\document_loaders\pebblo.py - 打开文件,将顶部的
import pwd替换为条件导入:try: import pwd except ImportError: pwd = None - 找到文件中使用
pwd的代码段(通常是获取当前用户名的部分),替换为跨平台兼容写法:if pwd is not None: username = pwd.getpwuid(os.getuid())[0] else: username = os.environ.get('USERNAME', 'unknown')
方案2:修改导入语句避开Pebblo模块
若不需要使用PebbloSafeLoader,直接从langchain_community导入CSVLoader,避免触发pebblo.py加载:
将代码中的:
from langchain.document_loaders.csv_loader import CSVLoader
修改为:
from langchain_community.document_loaders.csv_loader import CSVLoader
用户原始代码
from langchain_google_genai import GoogleGenerativeAI from dotenv import load_dotenv import os from langchain.chains import RetrievalQA from langchain.document_loaders.csv_loader import CSVLoader from langchain_community.embeddings import HuggingFaceInstructEmbeddings from langchain_community.vectorstores import FAISS load_dotenv() google_api_key= os.getenv('GOOGLE_API_KEY') llm = GoogleGenerativeAI(model="models/text-bison-001", google_api_key=google_api_key, temperature = 0.7) loader = CSVLoader(file_path="codebasics_faqs.csv", source_column="prompt") docs = loader.load() instructor_embeddings = HuggingFaceInstructEmbeddings( query_instruction="Represent the query for retrieval: " ) vectordb = FAISS.from_documents(documents = docs, embeddings = instructor_embeddings) retriever = vectordb.as_retriever() rdocs = vectordb.get_relevent_documents("do I get a job gurantee?") print(rdocs)
完整报错信息
File "c:\Users\USER\Desktop\project\tut_langchain\tut_googleplam.py", line 5, in <module> from langchain.document_loaders.csv_loader import CSVLoader File "D:\Program Files\Python310\lib\site-packages\langchain\document_loaders\csv_loader.py", line 1, in <module> from langchain_community.document_loaders.csv_loader import ( File "D:\Program Files\Python310\lib\site-packages\langchain_community\document_loaders\__init__.py", line 163, in <module> from langchain_community.document_loaders.pebblo import PebbloSafeLoader File "D:\Program Files\Python310\lib\site-packages\langchain_community\document_loaders\pebblo.py", line 5, in <module> import pwd ModuleNotFoundError: No module named 'pwd'
内容的提问来源于stack exchange,提问作者Monidipa Das
相关产品推荐
相关产品推荐

