首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python脚本中安装ubuntu包

在python脚本中安装ubuntu包
EN

Ask Ubuntu用户
提问于 2016-07-24 19:17:54
回答 2查看 3K关注 0票数 0

我想在python脚本中安装以下软件包:

代码语言:javascript
复制
python-pip python-sqlalchemy mongodb python-bson python-dpkt python-jinja2 
python-magic python-gridfs python-libvirt python-bottle python-pefile
python-chardet git build-essential autoconf automake libtool dh-autoreconf 
libcurl4-gnutls-dev libmagic-dev python-dev tcpdump libcap2-bin virtualbox 
dkms python-pyrex

我已经编写了以下代码,但它不起作用。我该如何解决这个问题?

代码语言:javascript
复制
    self.command = "apt install"
    self.packages = "python-pip python-sqlalchemy mongodb python-bson python-dpkt python-jinja2 python-magic python-gridfs python-libvirt python-bottle python-pefile python-chardet git build-essential autoconf automake libtool dh-autoreconf libcurl4-gnutls-dev libmagic-dev python-dev tcpdump libcap2-bin virtualbox dkms python-pyrex"

    print("[+] Installation of the ubuntu packages is starting:")
    for items in packages:
        subprocess.run(str(command.split()) + str(items), stdout=DEVNULL, stderr=DEVNULL)
        print("\[+] Package {} Installed".format(str(self.items)))
EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2016-07-25 00:22:41

你在这里有几个问题:

  • 您缺少了self in for items in packages:
  • self.packages是一个字符串,当您调用for item self.packages时,它会迭代该字符串的每个字符。您应该从一开始就将包声明为list,或者在末尾添加.split()
  • 您的self.packages很长,不符合每行79个字符的PEP8标准。
票数 1
EN

Ask Ubuntu用户

发布于 2016-07-24 20:08:34

固定:

代码语言:javascript
复制
def package_installation(self):
    self.apt = "apt "
    self.ins = "install "
    self.packages = "python-pip python-sqlalchemy mongodb python-bson python-dpkt python-jinja2 python-magic python-gridfs python-libvirt python-bottle python-pefile python-chardet git build-essential autoconf automake libtool dh-autoreconf libcurl4-gnutls-dev libmagic-dev python-dev tcpdump libcap2-bin virtualbox dkms python-pyrex"

    self.color.print_green("[+] Installation of the ubuntu packages is starting:")

    for self.items in self.packages.split():
        self.command = str(self.apt) + str(self.ins) + str(self.items)

        subprocess.run(self.command.split())
        self.color.print_blue("\t[+] Package [{}] Installed".format(str(self.items)))
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/802461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档