通过Python安装Linux软件包?
我可以用Bash安装以下软件包:通过Python安装Linux软件包?,python,linux,bash,Python,Linux,Bash,我可以用Bash安装以下软件包: sudo apt安装-y 如何使用Python实现这一点? 我应该从Python执行Bash脚本,还是有一种本机方法来执行?bashCommand=“apt get install-y” bashCommand = "apt-get install -y <program>" import subprocess process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIP
sudo apt安装-y
如何使用Python实现这一点? 我应该从Python执行Bash脚本,还是有一种本机方法来执行?
bashCommand=“apt get install-y”
bashCommand = "apt-get install -y <program>"
import subprocess
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
output, error = process.communicate()enter code here
导入子流程
process=subprocess.Popen(bashCommand.split(),stdout=subprocess.PIPE)
输出,错误=process.communicate()在此处输入代码
您可以从python执行它,但必须使用sudo运行python脚本。可能有一个库以本机方式执行此操作,但我不知道它如何能够安装软件,而无需这样做:在安装时或python脚本启动时要求您为sudo提供密码。否则任何人都可以用Python脚本安装软件
在放置此类代码时要非常小心。对于个人脚本,或者其他python代码的某种安装脚本,都可以。我不会将其放在某些服务器后端代码中。您可以使用子流程模块执行以下命令:
导入子流程
package_name=“”
subprocess.run([“sudo”、“apt”、“install”、“-y”、包名称],check=True)
请非常小心,不要将根密码硬编码到脚本中。如果要在没有密码提示的情况下运行此代码,请相应地配置sudoers。请注意不要制造安全噩梦。“我如何使用Python做到这一点?”——仅仅因为您可以,并不意味着您应该这样做。您这样说是出于安全还是性能原因?嗯,您实际上可以在子流程中使用sudo。我测试了它,因为我认为它不起作用。存储密码的另一种方法是使用suid。过去多次使用suid,非常适合在Raspberry Pis上自行解包/安装脚本。