gpt4 book ai didi

PYTHONPATH 不适用于 GNU/Linux 上的 sudo(适用于 root)

转载 作者:IT王子 更新时间:2023-10-29 00:23:42 29 4
gpt4 key购买 nike

编辑:适用于 root,sudo 是问题所在。阅读下文。

我有一个包含我自己的库的目录,例如我的 Python 库位于 /home/name/lib/py
我已通过将以下行添加到 /etc/bash.bashrc 来为所有用户(包括 root)将此目录添加到 Python 的 PATH:

export PYTHONPATH=$PYTHONPATH:/home/name/lib/py

它适用于所有用户(包括 root)。但它不适用于 sudo。有什么方法可以让 sudo 使用 /etc/bash.bashrc

编辑:更多信息:

我已将 PYTHONPATH 添加到 sudoers 文件中,如下所示:Defaults env_keep += "HOME PYTHONPATH"。它不会工作。

env | grep PYTHON:
PYTHONDONTWRITEBYTECODE=1
PYTHONPATH=/home/name/lib/py

sudo env | grep PYTHON:
PYTHONDONTWRITEBYTECODE=1

sudo echo $PYTHONPATH:
/home/name/lib/py

最佳答案

PATH 变量也是如此,它也不会被带入 super 用户环境,即使您传递了保留环境标志 -E

我现在正在使用这个 sudo 命令,没有任何其他修改:

sudo -HE env PATH=$PATH PYTHONPATH=$PYTHONPATH ./bin/myscript

因为这是一种(对我来说)有效的替代方法,所以我想我会在这里分享。

关于PYTHONPATH 不适用于 GNU/Linux 上的 sudo(适用于 root),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969540/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com