美文网首页
解决Linux在sudo下执行python程序路径不存在的问题

解决Linux在sudo下执行python程序路径不存在的问题

作者: 耀凯考前突击大师 | 来源:发表于2018-05-25 10:26 被阅读145次

    有时候我们需要使用root权限来执行某些python程序。同时即使我们自己在.bashrc或其他类似的配置文件中定义了PYTHONPATH或者PATH路径的话,也会出现import路径不存在的错误。这是因为在使用sudo模式执行程序的时候,系统会自动重置PATH环境变量。我们可以查看/etc/sudoers文件,如果其中存在如下所示的这行:

    Defaults env_reset
    

    则说明sudo模式下会默认重置环境变量。那么为了能够在sudo下继续使用我们定义的环境变量,我们需要删掉上面这行,并添加如下内容即可。注意/etc/sudoers文件必须在root权限下才能编辑。

    Defaults env_keep += "PYTHONPATH"
    Defaults env_keep += "Any other env variable you want to keep"
    

    当然如果我们只想在某个特定路径下执行一次代码,则可以在sudo命令中指定环境变量。指定环境变量的格式为ENV=/path/to/env

    sudo PATH=/path/to/your/env python /path/to/your/script.py
    

    相关文章

      网友评论

          本文标题:解决Linux在sudo下执行python程序路径不存在的问题

          本文链接:https://www.haomeiwen.com/subject/etjyjftx.html