【问题标题】:sudo ipython - how to launch ipython with sudo powersudo ipython - 如何使用 sudo 启动 ipython
【发布时间】:2017-09-29 00:35:05
【问题描述】:

我在 CentOS6 中安装了 ipyhon。当我在没有 sudo 的情况下启动 ipython 时,它工作正常。但是,我的一个 python 代码正在编写一个新的文本文件。当我这样做时

%run writeText.py
PremissionError: [Errno 13] Permission denied: 'log.txt'

我尝试使用 sudo 启动 ipython,但它不允许我

sudo ipython 
sudo: unable to execute /usr/bin/ipython: No such file or directory

我已经仔细检查过 ipython 在那个目录中

【问题讨论】:

  • /usr/bin/ipython 的权限是什么?
  • type ipython 作为非 root 用户输出什么?
  • @tink -rwxr-xr-x。 1 root root 230 Aug 2 10:30 /usr/bin/ipython
  • @balki 如果我以非 root 用户身份登录,它会显示类型:找不到命令。是这个原因吗?
  • 我还注意到,当我尝试以 root 用户启动 ipython 时,它抱怨 bash:/usr/bin/ipython: /usr/bin/python3.6: bad interpreter: No such file或目录。但是我使用的是 python 3.5(我没有安装 3.6),如果它是非 root 帐户,我在启动 ipyhton 时没有任何问题

标签: python linux ipython


【解决方案1】:

我认为这是因为没有为 root 用户安装 python。尝试为 root 用户安装 ipython,明确指向 ipython 可执行文件的位置,或者将 python 可执行文件的位置作为 root 添加到您的 PATH。

或者使用chmod 更改您要写入文件的位置的权限,这样您就可以以普通用户的身份进行写入(无需 sudo)。

【讨论】:

    【解决方案2】:

    要在 ipython 中运行 sudo 命令,我发现我不需要使用“sudo”运行 ipython。相反,我运行 ipython 并使用神奇的词“!”使用 sudo 访问运行 linux 命令:

    %ipython
    %!sudo lspci
    %!sudo ...some command
    

    【讨论】: