【问题标题】:Python Module PermissionsPython 模块权限
【发布时间】:2013-01-21 10:11:41
【问题描述】:

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

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

【问题讨论】:

  • chown 用户 -R 目录。将递归设置目录的权限。虽然无法帮助您使用 Eclipse……这对 python 来说是一场噩梦

标签: python linux eclipse


【解决方案1】:

让所有者独自一人,但让模块全部可读。目录应该是可执行的,因此人们可以列出其内容。 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 方面为您提供帮助。)

【讨论】:

  • 我最终需要一个sudo chmod -R a+r /usr/lib/python2.7/site-packages/* 来衡量。
  • 这很好用。谁能解释一下 {} \;语法?
猜你喜欢
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-24
  • 2011-06-20
  • 1970-01-01
相关资源
最近更新 更多