首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从默认的~/ntlk_data更改nltk.download()路径目录

从默认的~/ntlk_data更改nltk.download()路径目录
EN

Stack Overflow用户
提问于 2017-07-01 04:42:14
回答 6查看 34.2K关注 0票数 30

我试图在计算服务器上下载/更新python nltk包,它返回了这个[Errno 122] Disk quota exceeded:错误。

具体地说:

代码语言:javascript
复制
[nltk_data] Downloading package stop words to /home/sh2264/nltk_data...
[nltk_data] Error downloading u'stopwords' from
[nltk_data] <https://raw.githubusercontent.com/nltk/nltk_data/gh-
[nltk_data] pages/packages/corpora/stopwords.zip>: [Errno 122]
[nltk_data] Disk quota exceeded:
[nltk_data] u'/home/sh2264/nltk_data/corpora/stopwords.zip
False

如何更改nltk包的整个路径,以及应做哪些其他更改以确保nltk的无错误加载

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-11-02 18:44:11

这可以通过命令行(nltk.download(..., download_dir=)或GUI )进行配置。奇怪的是,nltk似乎完全忽略了它自己的环境变量NLTK_DATA,并将其下载目录默认为五条路径的标准集合,无论NLTK_DATA是否已定义并指向何处,以及nltk的五个默认目录是否存在于机器或体系结构中(!)。其中一些是在安装NLTK数据中记录的,尽管它不完整而且有点被掩埋;下面以更清晰的格式再现:

命令行安装 下载程序将搜索一个现有的nltk_data目录来安装NLTK数据。如果不存在,它将尝试在中心位置(当使用管理员帐户时)或在用户的文件空间中创建一个。如果有必要,从管理员帐户运行下载命令,或者使用sudo。推荐的系统位置是:

  • C:\nltk_data (Windows);
  • /usr/local/share/nltk_data (Mac)和
  • /usr/share/nltk_data (Unix)。

您可以使用-d标志指定不同的位置(但如果这样做,请确保相应地设置NLTK_DATA环境变量)。

  • 运行命令python -m nltk.downloader all
  • 要确保中央安装,请运行以下命令:sudo python -m nltk.downloader -d /usr/local/share/nltk_data all
  • 但他们真的应该说:sudo python -m nltk.downloader -d $NLTK_DATA all

现在关于推荐的路径NLTK_DATA应该使用,nltk并没有给出任何正确的指导,但是它应该是一个通用的独立路径,而不是在任何安装树(所以不在<python-install-directory>/lib/site-packages下)或任何用户dir下。因此,/usr/local/share/opt/share或类似的。在MacOS 10.7+上,/usr/usr/local/在默认情况下是隐藏的,所以/opt/share很可能是一个更好的选择。或者做chflags nohidden /usr/local/share

票数 30
EN

Stack Overflow用户

发布于 2017-07-06 13:11:33

根据文档

默认情况下,包安装在系统范围的目录中(如果Python有足够的权限写入它);或者安装在当前用户的主目录中。但是,如果需要,可以使用download_dir参数指定不同的安装目标。

若要指定下载目录,请使用例如:

代码语言:javascript
复制
nltk.download('treebank', download_dir='/mnt/data/treebank')
票数 26
EN

Stack Overflow用户

发布于 2019-01-25 07:45:28

您还可以使用nltk.download_shell()并遵循如下所示的交互步骤。

还可以使用nltk.data.path.append('/your/new/data/directory/path')指示nltk从新的数据路径加载数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44857382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档