2013-02-06 48 views
0

我在Linux中安装了一个python库,但是我的脚本找不到这个模块。我注意到它以root身份作为所有者安装。一旦我将所有者更改为我的用户,那么脚本工作正常。我应该更改权限以便所有用户都可以访问库(我假设我应该将所有者更改为root)?有没有办法递归设置权限只有文件或只有目录?Python模块权限

此外,由于Eclipse的某些原因,库导入语句具有“未解析的导入”消息,即使我能够毫无问题地执行该脚本。如果我使用库的本地副本,则消息会消失。

+0

chown user -R目录。将递归地设置一个目录的权限。虽然不能帮助你,但是...这对python来说是个噩梦 – Greg

回答

2

让所有者独自一人,但让模块全部可读。目录应该是可执行的,这样人们可以列出他们的内容。 chmod本身不能自动区分目录中的正常文件,但find可以,所以将它们合并。

在使用Python 2.7典型的Linux机器,这是你会怎么做(根):按要求

find /usr/lib/python2.7 -type f -exec chmod a+r {} \; 
find /usr/lib/python2.7 -type d -exec chmod a+x {} \; 

更改目录。这些命令如果成功则不会产生任何输出。

如果以正常方式安装模块,尽管(使用它们的setup.py脚本),您不应该这样做。

(我不能帮你用Eclipse。)

+0

我最终需要一个'sudo chmod -R a + r/usr/lib/python2.7/site-packages/*'来达到很好的效果。 –