简体   繁体   English

通过python脚本安装mongo-db。 子流程调用失败

[英]Installing mongo-db via a python script. Subprocess calls fail

I'm trying to install mongo-db on an ubuntu machine via a python script. 我正在尝试通过python脚本在ubuntu机器上安装mongo-db。 If I were to do it manually, using the following steps found here , it works perfectly. 如果要手动执行此操作,请使用此处找到的以下步骤,它可以完美运行。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo echo 'deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.lis
sudo apt-get update
sudo apt-get install mongodb-org

I'm representing these in python via a series of subprocess calls. 我通过一系列子过程调用在python中表示这些。 What I have is as follows - 我所拥有的如下-

subprocess.call(["apt-key", "adv", "--keyserver", "hkp://keyserver.ubuntu.com:80", "--recv", "EA312927"])
subprocess.call(["echo", "deb", "http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse", "|", "tee", "/etc/apt/sources.list.d/mongodb-org-3.2.list"])
subprocess.call(["apt-get", "update"])
subprocess.call(["apt-get", "install", "mongodb-org"])

This seems to be correct based on python tutorials on the matter, and yet, the script seems to fail and mongodb is not installed. 根据有关此问题的python教程,这似乎是正确的,但是脚本似乎失败了,并且未安装mongodb。

Can anyone help me figure out whats wrong with these subprocess calls? 谁能帮我弄清楚这些子流程调用出了什么问题?

The obvious difference: sudo and the absence of the shell that would interpret | 最明显的区别: sudo并没有将解释外壳| (pipe). (管)。 See How do I use subprocess.Popen to connect multiple processes by pipes? 请参阅如何使用subprocess.Popen通过管道连接多个进程?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何通过python脚本运行mongo db查询? - how to run mongo db query via python script? 从 mongo-db 中的最后一条记录中获取一列值 - Get one column value from last record in mongo-db 我有一个 shell 脚本,我想通过 python 脚本运行它。 我尝试使用 subprocess 或 os 模块这样做,但没有任何效果 - I have one shell script which I want to run via python script. I tried doing so using subprocess or os module , but nothing worked 是否可以制作一个通过子进程调用 python 脚本的 PyQt5 应用程序完全独立? - Is it possible to make a PyQt5 app that calls a python script via a subprocess fully self-contained? 通过Python子进程与R脚本进行交互 - Interacting with R script via Python subprocess 使用计划的Python脚本托管Mongo DB - Hosting a Mongo DB with a scheduled Python Script Python代码可以通过终端正常运行,但不能通过wsgi脚本运行。 (TypeError:'NoneType'对象不可迭代) - Python code works okay via terminal, but not via wsgi script. ( TypeError: 'NoneType' object is not iterable ) Python子进程调用挂起? - Python subprocess calls hang? Python子程序包未安装 - Python subprocess package not installing 通过python脚本在远程计算机上安装软件 - installing software on remote machine via python script
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM