我想用Python編寫一些Python包安裝腳本到virtualenv中。我寫一個函數來安裝的virtualenv如何在Python中運行上下文感知命令?
def prepareRadioenv():
if not os.path.exists('radioenv'):
print 'Create radioenv'
system('easy_install virtualenv')
system('virtualenv --no-site-package radioenv')
print 'Activate radioenv'
system('source radioenv/bin/activate')
我嘗試使用「源radioenv /斌/激活」來激活虛擬環境中,不幸的是,使用os.system創建一個子做的命令。激活所做的環境更改會隨着子流程而消失,但不會影響Python進程。問題在於,我如何在Python中執行一些上下文感知命令序列?
又如:
system("cd foo")
system("./bar")
在這裏,CD好好嘗試影響下面的系統( 「條」)。如何讓這些環境生活在不同的命令中?
有沒有類似上下文感知的shell?所以我可以這樣寫一些Python代碼:
shell = ShellContext()
shell.system("cd bar")
shell.system("./configure")
shell.system("make install")
if os.path.exists('bar'):
shell.system("remove")
謝謝。