AI编程生活评测

python部署rasa时遇到的几个报错

编程笔记 / 2023-06-12 / 1 min
linux 服务器使用全新安装 python3.8 部署 rasa 3.5.10 ,期间遇到几个问题:
  1. 在使用 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

  2. 在安装(下载)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
    
  3. pip install 过程中错误 subprocess-exited-with-error 这个错误是setuptool或者pip版本导致,可尝试升级或者降级,研究发现将pip版本降级到 21.3.1 无报错:
    pip install pip==21.3.1
    
  4. 编译前未安装系统依赖 解决办法类似,安装需要的依赖后,重新编译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
    
点击刷新