【发布时间】:2013-06-18 13:21:34
【问题描述】:
我想编写一个脚本来自动设置一个全新的 ubuntu 安装并安装一个基于 django 的应用程序。由于脚本将在新服务器上运行,因此 Python 脚本需要自动安装一些必需的模块。
这是脚本。
#!/usr/bin/env python
import subprocess
import os
import sys
def pip_install(mod):
print subprocess.check_output("pip install %s" % mod, shell=True)
if __name__ == "__main__":
if os.getuid() != 0:
print "Sorry, you need to run the script as root."
sys.exit()
try:
import pexpect
except:
pip_install('pexpect')
import pexpect
# More code here...
pexpect 安装成功,但是下一行import pexpect 安装失败。我认为这是因为在运行时代码不知道新安装的pexpect。
如何在运行时安装和导入 Python 模块?我对其他方法持开放态度。
【问题讨论】:
-
未经测试:
pexpect = __import__('pexpect')
标签: python linux subprocess