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

在jupyter笔记本的单元格内使用sudo

傅朗
2023-03-14
问题内容

我正在尝试为Jupyter Notebook内的平台制作教程

在某个时候,我需要在像这样的单元中运行linux命令:

!sudo apt-get install blah

但无法弄清楚如何输入sudo通行证,并且我不想用sudo运行jupyter Notebook,知道如何执行此操作吗?


问题答案:

更新: 我检查了所有方法,所有方法都有效。

1:

请求密码,getpassmodule该密码实际上会隐藏用户的输入,然后在python中运行sudo命令。

 import getpass
 import os

 password = getpass.getpass()
 command = "sudo -S apt-get update" #can be any command but don't forget -S as it enables input from stdin
 os.system('echo %s | %s' % (password, command))

2:

 import getpass
 import os

 password = getpass.getpass()
 command = "sudo -S apt-get update" # can be any command but don't forget -S as it enables input from stdin
 os.popen(command, 'w').write(password+'\n') # newline char is important otherwise prompt will wait for you to manually perform newline

上述方法的注意事项:

您输入密码的字段可能不会出现在ipython笔记本中。它出现在Mac的终端窗口中,我想它会出现在PC的命令外壳中。甚至结果详细信息也将出现在终端中。

3:

您可以将密码存储在mypasswordfile文件中,只需输入cell即可:

!sudo -S apt-get install blah < /pathto/mypasswordfile # again -S is important here

如果我想在jupyter notebook本身中查看命令的输出,我会更喜欢这种方法。



 类似资料:
  • 在wsl(Windows linux子系统)中的conda虚拟环境中运行jupyter笔记本时,复制粘贴url将不起作用。它总是显示“响应时间太长”或“连接超时”。

  • 我考虑过的一些方法: 将函数移出到实用程序文件中,并在某个标准Python测试库中为该实用程序文件编写测试。可能是最好的选择,尽管这意味着并非所有代码在笔记本中都可见。 使用测试数据在笔记本本身内进行写入断言(给笔记本增加噪声)。 使用专门的Jupyter测试来测试单元格的内容(不要认为这行不通,因为单元格的内容会改变)。

  • 所以我试图修复我的Jupyter笔记本(它不允许我导入库),但是,似乎我让事情变得更糟了。现在每当我启动笔记本时,内核就会启动,然后立即消失。我得到的错误如下: 有办法解决这个问题吗?或者我应该进行全面的卸载和重新安装吗?还有,我该怎么做呢?当我执行sudopip卸载jupyter时,它似乎不起作用。

  • 我想增加单元格和文本的大小以提高可读性,我已经尝试过这个解决方案:如何在浏览器中增加Jupyter/ipython笔记本的单元格宽度?。 然而,这只会使单元格变宽而不是变大,所以所有文本都保持相同的小尺寸。 Jupyter笔记本的屏幕截图 我想要Jupyter笔记本的样子

  • 问题内容: 我正在研究Jupyter Notebook,并希望通过使用Google GPU使其运行更快。我已经进行了一些研究并找到了解决方案,但是它对我没有用。 解决方案是: “最简单的方法是使用Connect to Local Runtime, 然后选择硬件加速器作为GPU,如Google Colab Free GPU Tutorial中所示 。” 我确实设法将googe colab连接到jup

  • 连接到Spark:pyspark_driver_python=/usr/local/bin/jupyter pyspark_driver_python_opts=“notebook--no-browser--port=7777”pyspark--packages com.databricks:spark-csv2.10:1.1.0--master spark://127.0.0.1:7077--e