OpenGrm Pynini 是由 K.Gorman 开发的开源有限状态传感器 Python 库,可在此处下载:http://www.openfst.org/twiki/bin/view/GRM/Pynini

我希望能够使用最新的 Pynini 版本 2.0.8 在我的 Windows 10 笔记本电脑上使用 PyCharm/IntelliJ 进行开发。问题是 Pynini 依赖于 C++ OpenFST 1.7.3,它显然在 Windows 上存在一些问题。

到目前为止,我发现的解决方案或解决方法是:

  • 使用我在 github.com:kkm000/openfst 上找到的“OpenFST 库到 Windows 的端口”,但尚未在 1.7.3 版中使用,这对某些人来说可能是个问题。
  • 按照 stackoverflow.com 上的建议使用 Cygwinmingw-w64:Issues installing pynini

  • 但是有没有其他简单的方法可以让它像使用 Debian for Windows Subsystem for Linux (WSL) 一样工作?

    最佳答案

    因此,我花了一些时间尝试实现这一目标,我发现此设置非常有效,因此我决定将其发布在这里,以防它可以帮助某人。
    与 PyCharm (pro) 的集成非常有效,您不需要任何 linux box、shell 或 ssh 隧道。 PyCharm 可以看到您的 WSL 实例,它会自动启动它,并在您运行脚本时调用您的 Python 解释器。

    以下是我为完成设置而执行的所有步骤:

    安装 Debian WSL

    Microsoft Store 安装和设置 Debian 实例

    然后基于 Pynini readme,这是我们需要的:

  • GCC > 4.8
  • 内置 OpenFST 1.7.3,使用 ./configure --enable-grm 和头文件
  • Python 版本:2.7 或 3.6+ 和头文件

  • 安装 GCC

    sudo apt update && sudo apt -y upgrade
    sudo apt install build-essential       # to install GCC and others build libs and tools
    

    安装 OpenFST

    我们需要安装 wget 才能下载 openfst 和 pynini。
    sudo apt install wget
    cd /usr/local/src
    sudo wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.7.3.tar.gz
    sudo tar -xvf openfst-1.7.3.tar.gz && sudo chown -R root:root openfst-1.7.3
    cd openfst-1.7.3 && sudo ./configure --enable-grm
    sudo make && sudo make install
    

    安装 Pynini

    首先我们需要安装Python
    sudo apt install python3 python3-dev python3-pip python3-venv
    

    然后下载并构建Pynini;抱歉,我沉迷于虚拟环境:
  • python3 -m venv ~/venv373; . ~/venv373/bin/activate;
  • cd /usr/local/src
  • sudo wget http://www.opengrm.org/twiki/pub/GRM/PyniniDownload/pynini-2.0.8.tar.gz
  • sudo tar -xvf pynini-2.0.8.tar.gz && sudo chown -R 1000:1000 pynini-2.0.8
  • cd /usr/local/src/pynini-2.0.8
  • sudo env PATH='$PATH'; python setup.py install;

  • 就是这样,应该安装 Pynini。

    PyCharm 集成

    请注意,这种与 WSL 的集成仅适用于 PyCharm/IntelliJ 专业版。

    这是有关如何在 PyCharm 中添加 WSL python 解释器的链接:https://www.jetbrains.com/help/pycharm/using-wsl-as-a-remote-interpreter.html

    我的 IntelliJ 中的一张屏幕截图,您可以在其中看到 import pynini 语句被识别并且自动完成功能也能正常工作。

    python - 如何在 Windows 10 上安装和使用 Pynini?-LMLPHP

    关于python - 如何在 Windows 10 上安装和使用 Pynini?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57898360/

    10-11 16:05