2012-10-25 28 views
1

我想在這裏照做: Jython: ImportError: No module named multiarray( 但是當我嘗試改變並儲存在Eclipse中NLTK /度/ segmentation.py文件(ubuntu下11)我得到的Python NLTK只讀

資源的家長:/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但並不做任何事情

誰能幫助一個noob在了他的深度

+0

我要試一試 將suclipse作爲sudo運行 或 將nltk複製到另一個目錄並將其添加到pythonpath中。你怎麼看? – schoon

+0

不要像sudo一樣運行,你可以真的把事情弄糟。找到一種以普通用戶身份運行的方式。 「資源的父母」可能意味着目錄(度量),檢查其權限。 – alexis

回答

1
。?

Chmod的遞歸使用大寫「R」,而選項-R出現在權限之前,它們本身位於目錄之前。因此:

sudo chmod -R 777 dir/name 

應該做你想做的。

但是,我總是有麻煩告訴人們去chmodding 777 willy-nilly。

默認情況下,主目錄之外的所有目錄都是隻讀的。有三種類型的權限:三組用戶的「讀取」,「寫入」,「執行」。如果您有問題的目錄中運行命令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'(目錄)的用戶/所有者(香)可以做rwx以下。
  2. r-x:組(在這種情況下管理員)可以執行以下操作:rx(讀取和執行,而不是寫入)。
  3. r-x:其他人(任何其他用戶)可以執行以下操作:rx

等等。

要編輯這個文件,你可以永久改變有關目錄的所有者對自己說:

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退出。

無論如何,一些答案不如其他人的安全,但我一直猶豫不決,以一切。也許我被教導太偏執。