1

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

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

4

1 回答 1

6

让所有者独自一人,但使模块全部可读。目录应该是可执行的,因此人们可以列出其内容。chmod本身不能自动区分普通文件和目录,但是find可以,所以组合起来。

在使用 Python 2.7 的典型 Linux 机器上,你会这样做(以 root 身份):

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。)

于 2013-02-06T10:25:24.427 回答