【问题标题】:python mallet LDA FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\abc\\AppData\\Local\\Temp\\d33563_state.mallet.gz'python mallet LDA FileNotFoundError: [Errno 2] 没有这样的文件或目录:'C:\\Users\\abc\\AppData\\Local\\Temp\\d33563_state.mallet.gz'
【发布时间】:2018-06-03 22:31:23
【问题描述】:

这是我第一次使用槌 LDA。基本上,我下载了 mallet-2.0.8 zip 文件和 JDK。我安装了 JDK,将 mallet-2.0.8 提取到目标文件夹。我设置了 MALLET_HOME。 这是我的代码

mallet_path='C:/Users/abc/mallet-2.0.8/bin/mallet'
ldamallet=gensim.models.wrappers.LdaMallet(mallet_path,corpus=corpus,num_topics=20,id2word=id2word)

但是,它给出了错误:

FILENOTFOUNDERROR[ERROR2]

我试过了

mallet_path='C:\\Users\\abc\\mallet-2.0.8\\bin\\mallet'

mallet_path=r'C:\Users\abc\mallet-2.0.8\bin\mallet'

我收到了同样的错误消息。

【问题讨论】:

  • 我也遇到了同样的错误
  • 希望有人能帮我们弄清楚。
  • 能否告诉我是否找到了任何解决方案?我似乎面临同样的问题。任何帮助将不胜感激。

标签: python mallet


【解决方案1】:

我也遇到了同样的问题,是因为我忘记设置环境变量 %MALLET_HOME%

import os
from gensim.models.wrappers import LdaMallet

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

【讨论】:

  • 在我尝试了你的建议后,我得到了以下错误:CalledProcessError: Command 'C:/Users/20200016/surfdrive/PhD/Overig/LDAWord2vec/mallet-2.0.8/bin/mallet import-file --preserve-case --keep-sequence --remove-stopwords --token-regex "\S+" --input C:\Users\20200016\AppData\Local\Temp\af1031_corpus.txt --output C:\Users\20200016\AppData\Local\Temp\af1031_corpus.mallet' returned non-zero exit status 1.
  • 它像魅力一样解决了我的问题,谢谢。
【解决方案2】:

这就是答案

import os
from gensim.models.wrappers import LdaMallet

os.environ['MALLET_HOME'] = 'C:\\Users\\DELL\\Desktop\\Research_lak\\mallet-2.0.8'
mallet_path = 'C:\\Users\\DELL\\Desktop\\Research_lak\\mallet-2.0.8\\bin\\mallet'
ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=10, id2word=id2word)

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。我得到的错误如下:

    IOError: [Errno 2] No such file or directory c:\\users\\...\\appdata\\local\\temp \\d36348_state.mallet.gz.

    每次我尝试运行代码时,下划线之前的前缀都会改变,但错误名称总是以“~Some Alphanumeric String~_state.mallet.gz”的形式结尾。

    我试图了解控制台中的堆栈跟踪输出。该错误行之前的行如下:

    fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')

    我用谷歌搜索并找到了这个特别的link。这是一个 github 链接,其中一个人提出了不同的错误,但他的错误日志的结尾部分与我的相同。他的错误的解决方案是升级他的smart_open 模块,gensim 依赖于该模块,因为升级已经解决了这个问题。所以我检查了我的smart_open 模块版本,它是1.4.x,最后一次更新大约是一年半前,所以我将它升级到版本1.5.7,LdaMallet 代码可以正常工作。

    请检查您的问题是否是由于相同的原因引起的。

    希望对你有帮助!

    附:我还将我的gensim 模块与smart_open 一起更新到了3.4 版。

    【讨论】:

      猜你喜欢
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多