我正在编写一个Python脚本,该脚本对分别位于tool1
和tool1
中的类似Python工具venv1
和venv2
进行性能测试。
如何有效地切换到不同的虚拟环境,执行Python脚本,然后停用该虚拟环境以为另一个虚拟环境中的下一个脚本做准备?
我现在的操作方式是:
def test():
f = open('results.txt', 'w+')
start_time = time.perf_counter()
cmd = "./venv1/bin/activate && tool1 arg1 arg2 && deactivate".split(' ')
completed_proc = subprocess.run(cmd, capture_output=True)
total_time = time.perf_counter() - start_time
f.write('tool 1 {}'.format(total_time))
但是我收到此错误:OSError: [Errno 8] Exec format error: './venv1/bin/activate'
进行此类测试的最佳方法是什么?