下载NLTK数据时的PermissionError

时间:2018-02-05 16:47:50

标签: python shell anaconda nltk

我使用的是Anaconda的Python 3.6.3发行版,它附带了NLTK,但不是NLTK DATA,我需要一个项目,问题是,当我尝试安装

nltk.download()

我得到了

PermissionError: [Errno 13] Permission denied: '/usr/share/nltk_data'

所以,我做了一些研究,我看到人们建议将Python作为

运行
sudo python

但如果我这样做,它将启动Linux的基础Python,而不是Anaconda的。

TL;博士

我需要一些方法来做像

这样的事情
sudo conda python

如果您有其他建议可行,我也会接受。

谢谢!

2 个答案:

答案 0 :(得分:2)

找出可以将文件写入的目录。例如。如果是/home/alvas/testdir

然后

>>> pip install -U nltk
>>> mkdir -p /home/alvas/testdir 
>>> python -m nltk.download popular -d /home/alvas/testdir 

如果您想知道如何在Python代码的开头配置nltk_data的自定义路径:

import nltk
nltk.data.path.append('/home/alvas/testdir')

答案 1 :(得分:0)

这样的事情会起作用吗?假设您的Anaconda env被称为myenv

source activate myenv
sudo python -c "import nltk; nltk.download()"

假设之前已经激活了你的env,就会阻止你使用基础Linux的Python。