我试图在计算服务器上下载/更新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
无错加载?
答案 0 :(得分:13)
默认情况下,软件包安装在系统范围的目录中(如果Python有足够的权限写入它);或者在当前用户的主目录中。但是,如果需要,download_dir参数可用于指定不同的安装目标。
要指定下载目录,请使用例如:
nltk.download('treebank', download_dir='/mnt/data/treebank')
答案 1 :(得分:6)
这可以通过命令行(nltk.download(..., download_dir=)
或GUI配置。奇怪的nltk似乎完全忽略了自己的环境变量NLTK_DATA
,并将其下载目录默认为一组标准的五个路径,无论是NLTK_DATA
是否被定义,它是指向何处,无论nltk的五个默认目录是否存在于机器或架构上(!)。Installing NLTK Data中记录了一些,尽管它不完整且有点埋没;转载如下更清晰的格式:
命令行安装
下载程序将搜索现有的
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并没有给出任何正确的指导,但它应该是一个不在任何安装树下的通用独立路径(因此不在{{1 }}或任何用户目录。因此,<python-install-directory>/lib/site-packages
,/usr/local/share
或类似。在MacOS 10.7 +上,/opt/share
以及/usr
这些天默认隐藏,因此/usr/local/
可能是更好的选择。或者/opt/share
。
答案 2 :(得分:0)
NLTK GUI也可以从PyCharm Community Edition Python控制台启动。 只需发出2条命令:
1)导入nltk
2)nltk.download_gui()
但是如果您要在控制台上先设置代理服务器,则必须在代理服务器后面安装nltk GUI
SET HTTP_PROXY = proxy.mycompany.com:8080
然后它将起作用。
答案 3 :(得分:0)