Я хочу написать скрипт установки пакета Python на Python в virtualenv.Я пишу функцию для установки virtualenv
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')
Я пытаюсь использовать «source radioenv / bin / activ» для активации виртуальной среды, к сожалению, os.system создает подпроцесс для выполнения команды.Изменения среды, сделанные при активации, исчезают вместе с подпроцессом, это не влияет на процесс Python.Здесь возникает проблема, как я могу выполнить некоторую контекстно-зависимую последовательность команд в Python?
Другой пример:
system("cd foo")
system("./bar")
Здесь компакт-диск не влияет на следующую систему (". Bar").Как заставить контекст этой среды жить в разных командах?
Есть ли что-то вроде контекстно-зависимой оболочки?Так что я могу написать такой код на Python:
shell = ShellContext()
shell.system("cd bar")
shell.system("./configure")
shell.system("make install")
if os.path.exists('bar'):
shell.system("remove")
Спасибо.