首页 > 解决方案 > 为什么我不能使用 Gensim 下载 API 下载数据集

问题描述

当我执行以下操作时:

>>> 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'。

我究竟做错了什么?

标签: pythondownloaddatasetgensimglove

解决方案


我有同样的问题,我在这些步骤中解决了它。我正在使用 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


推荐阅读