chatglm.cpp
chatglm.cpp copied to clipboard
Windows下Python Binding GPU编译后无法导入chatglm_cpp
我是windows,一样的报错
G:\fuckkk\chatglm.cpp\build\lib.win-amd64-cpython-310\chatglm_cpp
D:\Anaconda3-2021.11\envs\chatglm\Lib\site-packages\chatglm_cpp
也不再冲突目录中加载;
已经参考 https://github.com/li-plus/chatglm.cpp/issues/177 https://github.com/li-plus/chatglm.cpp/issues/91 无法解决
Python3.8之后需要通过os.add_dll_directory手动添加DLL搜索路径。
这里我们需要这两个CUDA的DLL:
你只需要在
__init__.py文件的import chatglm_cpp._C as _C之前执行os.add_dll_directory(os.environ['CUDA_PATH'] + '/bin')即可。
参考代码如下:
import sys
if sys.version_info >= (3, 8) and sys.platform == "win32":
import os
if os.environ.get('CUDA_PATH') is not None:
os.add_dll_directory(os.environ['CUDA_PATH'] + '/bin')
import chatglm_cpp._C as _C
if sys.version_info >= (3, 8) and sys.platform == "win32": import os if os.environ.get('CUDA_PATH') is not None: os.add_dll_directory(os.environ['CUDA_PATH'] + '/bin')
经过测试,可以了,不过我这边默认的 cuda path 名字叫 CUDA_PATH_V12_3。
牛皮
高手