我正在编写Python代码,在Linux环境中安装程序所需的所有库包。因此,Linux可能包含Python 2.7或2.6或两者都有,所以我开发了一个try和except块的代码,用于在Linux上安装pip包。Try块代码包含Python 2.7版本的pip install,Catch块包含Python 2.6版本的pip install。我的问题是,当我尝试在Python 2.6中安装pandas时,它会给我带来一些错误。我想捕获该异常。请告诉我如何改进我的try except块以捕获该异常。
required_libraries = ['pytz','requests','pandas']
try:
from subprocess import check_output
pip27_path = subprocess.check_output(['sudo','find','/','-name','pip2.7'])
lib_installs = [subprocess.call((['sudo',pip27_path.replace('\n',''),'install', i])) for i in required_libraries]
except:
p = subprocess.Popen(['sudo','find','/','-name','pip2.6'], stdout=subprocess.PIPE);pip26_path, err = p.communicate()
lib_installs = [subprocess.call((['sudo',pip26_path.replace('\n',''),'install', i])) for i in required_libraries]