当我执行以下操作时:
>>> import gensim.downloader as api
>>> model = api.load("glove-twitter-25") # load glove vectors
gensim.downloader API 抛出以下错误:
[Errno 2] 没有这样的文件或目录:'/Users/vtim/gensim-data/information.json'。
我究竟做错了什么?
我有同样的问题,我在这些步骤中解决了它。我正在使用 mac、pycharm 和 virtualenv。我没有太多的python经验,但这就是我的做法:
1.1 您必须使用目录“/Users/vtim/gensim-data”创建一个名为“gensim-data”的文件夹。这可以通过在终端中运行命令“mkdir gensim-data”来完成(您可以使用 pip install 命令的相同位置)。
1.2 然后你必须将文件夹作为内容根添加到你的项目中(以便代码可以访问它)。从 Pycharm 中,从主应用程序菜单(在带有 mac 的 Apple 徽标旁边)Pycharm -> Preferences 和 Project -> Project Structure 中,然后在右侧菜单中选择“添加内容根目录”。找到你刚刚创建的 gensim-data 文件夹并添加它。
1.3 现在您应该在项目文件夹中看到“gensim-data”文件夹,例如,如果您正在使用 venv (virtualenv),它也在其中。现在在名为“information.json”的“gensim-data”文件夹中创建一个文件。然后将从此链接中找到的代码复制到“information.json”文件:https ://github.com/RaRe-Technologies/gensim-data/blob/master/list.json
(您遇到的问题是 gensim.downloader api 可能无权将文档写入特定目录,或者无法读取它们。在我的情况下,它也不能这样做。)
如果您的代码仍然无法正常工作,您应该执行下一步:
2.1 就我而言,我还有一个问题,即 api 无法从 Internet 访问正确的文件。这个问题在这里解决了:https ://stackoverflow.com/a/42098127/14075343 。因此,从您的计算机中找到名为 Python 3.8(如果您使用的是 3.8 版本)的文件夹/应用程序,打开它并双击“Install Certificates.command”。或者您可以尝试从终端“打开 /Applications/Python\ 3.8/Install\ Certificates.command”运行
现在代码应该可以工作了。如果仍然没有,您可以尝试运行这些代码。我不确定它是否有所作为,但我在找到解决方案的过程中运行了这些:
sudo python3 -m pip install --upgrade gensim
sudo -H pip install virtualenv
sudo chown -R $USERNAME /Users/$USERNAME/Library/Caches/pip