我正在创建安装文件,首先我检查是否已安装特定包,如果是,则打印它的版本,否则安装该包。
考虑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
对此存在更好的方法吗?
答案 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"