You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

  1. 找到文件路径:D:\Program Files\Python310\lib\site-packages\langchain_community\document_loaders\pebblo.py
  2. 打开文件,将顶部的import pwd替换为条件导入:
    try:
        import pwd
    except ImportError:
        pwd = None
    
  3. 找到文件中使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:43:12