我试图在计算服务器上下载/更新python nltk包,它返回了这个[Errno 122] Disk quota exceeded:错误。
具体地说:
[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的无错误加载
发布于 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 allsudo python -m nltk.downloader -d /usr/local/share/nltk_data allsudo 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。
发布于 2017-07-06 13:11:33
根据文档
默认情况下,包安装在系统范围的目录中(如果Python有足够的权限写入它);或者安装在当前用户的主目录中。但是,如果需要,可以使用download_dir参数指定不同的安装目标。
若要指定下载目录,请使用例如:
nltk.download('treebank', download_dir='/mnt/data/treebank')发布于 2019-01-25 07:45:28
您还可以使用nltk.download_shell()并遵循如下所示的交互步骤。

还可以使用nltk.data.path.append('/your/new/data/directory/path')指示nltk从新的数据路径加载数据。
https://stackoverflow.com/questions/44857382
复制相似问题