she*_*lih 14 python default path nltk python-2.7
我试图nltk
在计算服务器上下载/更新python 包,它返回了这个[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
Run Code Online (Sandbox Code Playgroud)
我怎样才能更改nltk
包的整个路径,以及我应该做出哪些其他更改以确保无错加载nltk
?
Ort*_*kni 13
根据文件:
默认情况下,软件包安装在系统范围的目录中(如果Python有足够的权限写入它); 或者在当前用户的主目录中.但是,如果需要,download_dir参数可用于指定不同的安装目标.
要指定下载目录,请使用以下示例:
nltk.download('treebank', download_dir='/mnt/data/treebank')
Run Code Online (Sandbox Code Playgroud)
smc*_*mci 10
这可以通过命令行(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
)或任何用户目录下.因此/usr/local/share
,/opt/share
或类似的.在MacOS 10.7+上,/usr
因此/usr/local/
默认情况下隐藏了这些日子,因此/opt/share
可能是更好的选择.或者做chflags nohidden /usr/local/share
.