通过Python安装Linux软件包?

时间:2019-08-20 15:54:09

标签: python linux bash

我可以像这样用Bash安装软件包:

    sudo apt install -y <package_name>

如何使用Python执行此操作? 我应该从Python执行Bash脚本还是有本机的方法?

2 个答案:

答案 0 :(得分:4)

您可以使用子流程模块执行命令:

import subprocess

package_name = "<package_name>"
subprocess.run(["sudo", "apt", "install", "-y", package_name], check=True)

请非常小心,切勿将您的root密码硬编码到脚本中。如果要在没有密码提示的情况下运行此代码,请相应地配置您的sudoers。请注意不要造成安全噩梦。

答案 1 :(得分:-1)

from pyspark.sql.functions import udf, col
def get_remainder(col_1, col_2):
    return col1/col2
get_remainder_udf = udf(get_remainder)
df = df.withColumn('col1_2', get_remainder_udf(col('col1'), col('col2')))
df = df.withColumn('col3_1', get_remainder_udf(col('col3'), col('col1')))
df = df.drop('col1').drop('col2').drop('col3')

您可以从python执行它,但是必须使用sudo运行python脚本。可能有一个库可以在本机执行此操作,但是我不知道如何在没有以下情况的情况下安装软件:在安装或启动python脚本时要求您提供sudo的密码。否则任何人都可以使用Python脚本安装软件!

对放置此类代码的位置非常谨慎。对于个人脚本或其他python代码的某种安装脚本,都可以。我不会将其放在某些服务器后端代码中。