验证安装,如果已安装则打印版本,否则安装该软件包

时间:2015-02-24 13:03:44

标签: python linux package

我正在创建安装文件,首先我检查是否已安装特定包,如果是,则打印它的版本,否则安装该包。

考虑nltk,我这样做:

nltkv = '{}.'.format(nltk.__version__)
if nltkv == '':
    print "Nltk is not installed, Let's start installing .../n"
    subprocess.call('sudo pip install -U nltk', shell = True)
    #sudo easy_install pip
else:
    print "nltk is already installed, V : /n", nltkv

但为此,我需要import nltk

所以万一,如果还没有安装nltk,那么它在第一行会出错:

  File "setup.py", line 1, in <module>
    import nltk
ImportError: No module named nltk

有几个这样的包需要验证和安装。我正在使用ubuntu和python

对此存在更好的方法吗?

1 个答案:

答案 0 :(得分:1)

你可以这样做

import subprocess 
try:
    import nltk
    nltkv = '{}.'.format(nltk.__version__)
    print "nltk is already installed, V : \n", nltkv # mind the escape sequence
except ImportError:
    print "Nltk is not installed, Let's start installing ...\n"
    subprocess.call('sudo pip install -U nltk', shell = True)
    #sudo easy_install pip
except:
    print "Some error occurred!\n"
相关问题