在 linux
服务器使用全新安装 python3.8
部署 rasa 3.5.10
,期间遇到几个问题:
- 在使用
spacy
时报错:issubclass() arg 1 must be a class
File "/usr/lib/python3.8/typing.py", line 774, in __subclasscheck__ return issubclass(cls, self.__origin__) TypeError: issubclass() arg 1 must be a class
版本:
spacy 3.4.4需要 typing_extensions<4.6.0 否则会报错,解决办法就是重新安装一个低版本:
pip install typing_extensions==4.4.0
参考:https://github.com/explosion/spaCy/issues/12659
-
在安装(下载)spacy训练数据
zh_core_web_md
时超时这里建议大家下载下载离线安装包来安装,类似:
zh_core_web_md-3.4.0-py3-none-any.whl
,然后安装即可:pip install ./zh_core_web_md-3.4.0-py3-none-any.whl
- pip install 过程中错误
subprocess-exited-with-error
这个错误是setuptool或者pip版本导致,可尝试升级或者降级,研究发现将pip版本降级到
21.3.1
无报错:pip install pip==21.3.1
- 编译前未安装系统依赖
解决办法类似,安装需要的依赖后,重新编译python。
# 报错 ModuleNotFounderror: No Module named _ctypes # 需要安装依赖包 apt-get install libffi-dev # 重新编译安装 ./configure --enable-optimizations --prefix=/usr/local/python3.8 make make install # 报错 ModuleNotFoundError: No module named '_sqlite3' # 需要安装依赖包 apt-get install libsqlite3-dev # 重新编译安装 ./configure --enable-loadable-sqlite-extensions --enable-optimizations --prefix=/usr/local/python3.8 make make install