当前位置: 首页 > 面试题库 >

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

房冥夜
2023-03-14
问题内容

编辑:适用于root,sudo是问题。参见下文。

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

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

问题答案:

我的解决方法是Defaults !env_reset从sudoers中删除。

但是,我不得不Defaults env_keep += "PYTHONPATH"保持警惕。
我实际上已经添加了Defaults env_reset(它会重置环境变量),但是由于,它仍然可以工作env_keep

似乎env_keep!env_reset彼此冲突,但这只是一个猜测。

因此,整个过程:

  1. 添加export PYTHONPATH=/your/custom/path~/.bashrc/etc/bash.bashrc
  2. 添加PYTHONPATHDefaults env_keep += "ENV1 ENV2 ..."sudoers文件
  3. Defaults !env_reset从sudoers文件中删除(如果存在)


 类似资料:
  • 我想设置pythonpath,但它不适用于其他目录。 我的朋友: 导出PYTHONPATH=/usr/lib/python2.7 导出PYTHONPATH=$PYTHONPATH/plat-linux2:$PYTHONPATH/lib-dynload:$PYTHONPATH/dist-包:$PYTHONPATH/lib-tk:$PYTHONPATH 如果我只保留第一行(单个目录) export P

  • 我的python 2.7脚本在我的Ubuntu系统上工作,如果我称之为使用 或从bash脚本使用 但是如果我从Py魅力调用它,我会得到oauth错误,并且从命令提示符 在导入熊猫行抛出一个错误: 我试过了 如Python Pandas中所述,卸载pip,然后为熊猫、Numpy和smpy安装pip-缺少必需的依赖项['Numpy'] 1 上面使用了标志-升级和-用户来尝试让包应用到我的用户帐户而不是

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 有人能帮我解决这个问题吗?当然,在Linux上运行时,我已经将路径更改为。

  • 列名称的类型为int[] 上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql 尝试的hsqldb版本:2.2.9和2.3.0 在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。