Python nltk只读

时间:2012-10-25 09:02:09

标签: python eclipse ubuntu nltk

我正在尝试遵循这里的建议: Jython: ImportError: No module named multiarray( 但是当我尝试在eclipse中更改并保存nltk / metrics / segmentation.py文件时(在ubuntu 11下)我得到了

资源的父级:/usr/local/lib/python2.7/dist-packages/nltk/metrics/segmentation.py被标记为只读。 /usr/local/lib/python2.7/dist-packages/nltk/metrics/segmentation.py(许可被拒绝) 我已经尝试chmod 777 -r,但这没有做任何事情。

任何人都可以在他的深度帮助一个菜鸟吗?

1 个答案:

答案 0 :(得分:1)

Chmod的递归使用大写“R”,选项-R出现在权限之前,它们自己位于目录之前。因此:

sudo chmod -R 777 dir/name

应该做你想做的事。

但是,我总是很难告诉人们不顾一切地进行777的修改。

默认情况下,主目录之外的所有目录都是只读的。有三种类型的权限:三组用户的“读取”,“写入”,“执行”。如果在相关目录上运行命令ls -l,您应该看到如下内容:

drwxr-xr-x    4 shannon  admin   136 Oct  7 18:22 chunkers/
drwxr-xr-x  122 shannon  admin  4148 Nov  1 08:22 corpora/
drwxr-xr-x   12 shannon  admin   408 Nov  1 08:22 grammars/

Linux系统的安全性主要基于只有root可以执行任何操作的事实。其他人,包括您的用户名,都必须征得许可。这可能看起来很麻烦,但我们Linux用户很高兴每个人都必须征得许可。

那么,这个垃圾意味着什么:

drwxr-xr-x 4 shannon admin some-numbers date-time dir/name
  1. drwx:这是一个'd'(目录),用户/所有者(shannon)可以为rwx执行以下操作。
  2. r-x:组(在本例中为admin)可以执行以下操作:rx(读取和执行,而不是写入)。
  3. r-x:其他人(其他任何用户)可以执行以下操作:rx
  4. 等等。

    要编辑该文件,您可以永久性地将相关目录的所有者更改为自己:

    sudo chown -R yourusername /usr/local/lib/python2.7/dist-packages/nltk/
    

    当然,您可以通过许多不同的方式授予自己编辑内容的权限(例如,您可以sudo chgrp -R g+w dir/name,然后确保您的用户名是现在可以编写的群组的一部分到目录)。这是一个很好的方式,使其他人可以做这个目录。

    可能最好的解决方案是使用sudo和命令行编辑器编辑文件,因为你可能不会多次编辑文件,不是吗?

    sudo nano /usr/local/lib/python2.7/dist-packages/nltk/metrics/segmentation.py
    

    使用CTRL + o保存并按CTRL + x退出。

    无论如何,有些答案比其他答案安全性差,但我总是对chmod 777所有事情犹豫不决。也许我被教导过于偏执。