以root身份执行python没有命名的模块

时间:2014-06-30 14:43:20

标签: python unix root sudo python-import

由于我需要在python代码中创建一个原始套接字,我需要以root身份运行它。 当我这样做时,我发现我的导入模块不再以某种方式得到支持:

`No module named foo`

(我曾经将我的脚本作为sh myScript.sh option1运行,我的python script.py是从myScript.sh内调用的。

现在我尝试:sudo fullPathName/myScript.py我也在其开头

#!/usr/bin/python and make it executable by chmod +x myScript.py

仍然没有No module named foo问题。

1 个答案:

答案 0 :(得分:2)

使用PYTHONPATH运行命令时,您需要保留sudosudo可以配置为通过sudoers文件保留某些环境变量。

所以你可以运行visudo(以root身份)并添加如下内容:

Defaults env_keep += "PYTHONPATH"

然后保存更改。