【问题标题】:Verify installation, print version if already installed otherwise install that package验证安装,如果已安装则打印版本,否则安装该软件包
【发布时间】:2015-02-24 21:06:50
【问题描述】:

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

考虑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

有没有更好的方法来解决这个问题?

【问题讨论】:

  • 你可以赶上ImportError

标签: python linux package


【解决方案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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2015-06-02
    • 2019-12-24
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多