Google Colab运行Kenlm的lmplz提示command not found如何解决
问题原因
Linux系统默认不会将当前工作目录加入可执行文件的搜索路径(PATH环境变量),即便你已经切换到lmplz所在的目录,直接输入程序名调用也会提示找不到命令。
正确运行方案
- 方案1:指定当前目录路径调用(最简便,单次执行推荐)
直接在程序名前加./代表从当前目录查找可执行文件,命令如下:
!./lmplz -o 3 < train.en > lm.en.arpa
注意:输入输出重定向符号
<、>前后建议保留空格,避免和文件名拼接引发解析错误。
- 方案2:临时将工具目录加入PATH(多次调用推荐)
如果需要多次使用kenlm目录下的各类工具,可以先把对应目录加入系统搜索路径:
- 执行以下命令全局配置环境变量,整个Colab会话生效:
%env PATH=$PATH:/content/drive/My Drive/kenlm/build/bin
- 后续直接调用即可:
!lmplz -o 3 < train.en > lm.en.arpa
- 方案3:使用绝对路径调用
不管当前工作目录是哪里,都可以直接写完整路径调用程序,注意路径中的空格需要用反斜杠转义:
!/content/drive/My\ Drive/kenlm/build/bin/lmplz -o 3 < /content/drive/My\ Drive/kenlm/build/bin/train.en > /content/drive/My\ Drive/kenlm/build/bin/lm.en.arpa
内容的提问来源于stack exchange,提问作者Renae Nguyen
相关产品推荐
相关产品推荐

