我在Linux中安装了一个python库,但我的脚本找不到这个模块。我注意到它是以root身份安装的。一旦我将所有者更改为我的用户,那么脚本运行正常。我应该如何更改权限,以便所有用户都可以访问库(我假设我应该将所有者更改为root)?有没有办法以递归方式为文件或仅为目录设置权限?
另外,由于Eclipse中的某些原因,库导入语句具有“未解析的导入”消息,即使我能够毫无问题地执行脚本。如果我使用库的本地副本,那么消息就会消失。
答案 0 :(得分:4)
让所有者独自一人,但让这些模块具有全球可读性。目录应该是可执行的,因此人们可以列出他们的内容。 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。)