FileNotFoundError: [Errno 2] No such file or directory: mallet path

FileNotFoundError: [Errno 2] No such file or directory: mallet path

所以这段代码之前是有效的,现在我收到了这个错误 - 请帮忙 :(

mallet_path = 'C:/mallet/mallet-2.0.8/bin/mallet.bat'

ldamallet_test = gensim.models.wrappers.LdaMallet(mallet_path, corpus=bow_corpus_test, num_topics=20, id2word=dictionary_test)

这是因为您的 Mallet 主目录设置不正确。即使您将二进制文件的路径设置为变量,您仍然必须定义包含 Mallet 所在位置的源的环境变量:

import os
from gensim.models.wrappers import LdaMallet

os.environ['MALLET_HOME'] = 'C:\mallet\mallet-2.0.8'

mallet_path = 'C:\mallet\mallet-2.0.8\bin\mallet'
ldamallet_test = gensim.models.wrappers.LdaMallet(mallet_path, corpus=bow_corpus_test, num_topics=20, id2word=dictionary_test)

请注意,您不需要添加 .bat 扩展名,因为 Windows 应该在本机执行它,因为它知道这是一个批处理文件。最后一点,您应该使用双反斜杠 (\) 作为 Windows 中的路径分隔符。根据您使用的 Windows 版本不这样做可能会产生意外行为。如果您想避免头痛,请尝试使用 os.path.join,它会为您提供正确的路径分隔符,而不管 OS:

mallet_path = os.path.join('C:', 'mallet', 'mallet-2.0.8', 'bin', 'mallet')