非CUDA环境下,引入PaddleNLP,会在 paddlenlp\ops\ext_utils.py的19行报错,
TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
原因应该是if not os.path.exists(CUDA_HOME):这行直接使用了CUDA_HOME而没有验证值。
查到在14-15行,有:
from paddle.utils.cpp_extension.cpp_extension import (
CUDA_HOME, CppExtension, BuildExtension as PaddleBuildExtension)
因此CUDA_HOME不是本包内的变量,不建议修改,因此建议修改\ext_utils.py的19行为:
if CUDA_HOME==None or not os.path.exists(CUDA_HOME):