Langchain-Chatchat在windows平台离线部署(1)
pwd的不兼容
在调用数据库初始化程序的时候,系统将会调用pebblo.py程序,在此程序中,需要调用基于linux平台的pwd程序。
在windows环境下,pwd模块不兼容,需要使用pywin32的相应功能替代。
处理办法:
- 找到对应的pebblo.py程序,在本例中,对应文件的位置如下:
C:\Users\XPI1CNG\.conda\envs\langchain_3_10\lib\site-packages\langchain_community\document_loaders\pebblo.py
-
python环境中,安装pywin32安装包
安装后的效果如图:
-
修改pebblo.py的代码如下:
- 将代码“import pwd”注释后,使用引入新的库文件:
import win32security
- 将代码中的代码“file_owner_name = pwd.getpwuid(file_owner_uid).pw_name”注释后,使用如下代码替代。
#file_path = 'path/to/your/file'
sd = win32security.GetFileSecurity(file_path, win32security.DACL_SECURITY_INFORMATION)
owner_sid = sd.GetSecurityDescriptorOwner()
username, domain, account_type = win32security.LookupAccountSid(None, owner_sid)
file_owner_name = username
- 保存文件后,继续执行,系统没有报错信息。